docker基本概念与使用
一、基础部分(基本使用)
1. Docker核心概念
- 镜像(Image)、容器(Container)、仓库(Repository)的概念
- Docker与虚拟机的区别(轻量级、资源共享、启动速度等)
3. 基本命令操作
- 镜像管理:
docker pull
、docker images
、docker rmi
、docker build
(Dockerfile)docker tag
、docker push
、docker save
、docker load
- 容器管理:
docker run
(各种参数:-d
,-p
,-v
,--name
,--network
,--restart
等)docker ps
、docker stop
、docker start
、docker restart
、docker rm
docker logs
、docker exec
、docker inspect
- 其他常用命令:
docker info
、docker version
、docker system df
(查看磁盘使用)
架构设计
Docker采用了C/S(客户端-服务器)架构。主要包括以下几个组件:
- Docker客户端(Client):
- 用户通过Docker客户端与Docker交互。客户端发送命令给Docker守护进程(Docker Daemon),然后守护进程执行命令。
- 客户端可以运行在宿主机上,也可以远程连接守护进程。
- Docker守护进程(Docker Daemon):
- Docker Daemon是运行在主机上的后台进程,负责管理Docker对象(镜像、容器、网络、存储卷等)。
- 监听来自客户端的请求(通过REST API)并处理。
- Docker Registries:
- 用于存储Docker镜像。Docker Hub是公共的Registry,用户也可以建立私有的Registry。
- Docker对象:
- 镜像(Images):只读模板。
- 容器(Containers):运行时的镜像实例。
- 网络(Networks):Docker提供了多种网络模式连接容器。
- 数据卷(Volumes):用于持久化存储容器数据,避免容器停止后数据丢失。
基础概念
- 镜像(Image):
- Docker镜像是用于创建Docker容器的模板。它类似于虚拟机镜像,但更轻量级。
- 镜像采用分层结构,每一层是只读的,并且可以被多个容器共享。最上层是容器层,可写。
- 例如:一个Ubuntu镜像,一个带有Nginx服务的Web应用镜像。
- 容器(Container):
- 容器是镜像的运行实例。当你运行一个镜像时,你就创建了一个容器。
- 容器可以被启动、停止、删除等,每个容器都是独立和安全的沙箱。
- 可以把容器看作是一个轻量级的Linux运行环境。
- 仓库(Repository):
- 仓库是集中存放镜像的地方,分为公共仓库和私有仓库。
- Docker官方仓库是Docker Hub,你也可以搭建私有仓库(如Harbor)。
- 仓库中有多个镜像,每个镜像可以有多个标签(Tag)。
- Registry:
- 仓库注册服务器(Registry)是存放仓库的地方。Docker Hub就是官方的Registry。
- Dockerfile:
- Dockerfile是一个文本文件,包含了一系列命令和指令,用于自动化构建镜像。
- 常用的指令包括:FROM(基础镜像)、RUN(执行命令)、COPY(复制文件)、EXPOSE(暴露端口)、CMD(容器启动命令)等。
使用镜像
操作容器
访问仓库
数据管理
使用网络
高级网络配置
其他
Docker buildx
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.