文章目录
思维导图
概念
- docker是一个开源应用容器引擎
- 基于 GO 语言实现
- 开发者可以将他们的应用和依赖打包到一个轻量级, 可移植的容器中, 发布到任何流行的 Linux 机器上
- 沙箱机制, 互相隔离
- 性能开销很低
安装(基于 centos7)
- 下载安装 docker
# yum 包更新到最新
yum update
# 安装需要的软件包, yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 查看docker版本,验证是否验证成
docker -v
- 配置 aliyun 镜像加速
进入阿里云控制台,搜索镜像加速器,输入代码即可
结构
Docker 命令
进程(daemon)相关命令
- 启动 docker 服务
systemctl start docker
- 停止 docker 服务
systemctl stop docker
- 重启 docker 服务
systemctl restart docker
- 查看 docker 状态
systemctl status docker
- 设置 docker 服务开机自启
systemctl enable docker
镜像(image)相关命令
- 查看镜像
docker images
docker images -q # 查看所有镜像的 id
- 搜索镜像(从网络中查找需要的镜像)
docker search 镜像名称
- 拉取镜像:从 Docker 仓库下载镜像到本地 如果不指定版本则是 latest 版本
docker pull 镜像名称 # 名称:版本号
# 可以去 hub.docker.com 查看对应镜像的版本号
- 删除镜像
docker rmi 镜像id # 删除指定id的镜像
docker rmi `docker images -q` # 组合命令,先查找所有镜像id然后再删除
容器(container))相关命令
- 查看容器
docker ps # 显示正在运行的容器
docker ps -a # 显示历史所有容器
- 创建并启动容器
docker run -it --name=c1 镜像名字:版本 /bin/bash # 创建一个容器名为 c1 ,并分配一个终端,进入 /bin/bash, 退出容器后容器自动关闭
docker run -id --name=c2 镜像名字:版本 # 创建一个容器名为 c2,后台运行,并且进入容器之后退出也不会关闭容器
-i : 保持容器运行, 通常与 -t 一起使用,使用 it 参数创建容器, 创建完成之后自动进入容器, 退出后自动关闭
-t : 为容器重新分配一个伪输入终端
-d : 以守护(后台)模式运行容器, 创建一个容器在后台运行, 需要手动进入容器, 退出后容器不会关闭
-it : 创建的容器一般叫做交互式容器, -id : 创建的容器一般称为守护式容器
–name : 命名
- 进入容器
docker exec -it 容器名称 /bin/bash # 退出容器, 容器不会关闭
- 停止容器
docker stop 容器名称
- 启动容器
docker start 容器名称
- 删除容器
docker rm 容器名称 # 不能删除运行中的容器
- 查看容器信息
docker inspect 容器名称
数据卷
-
概念:
- 是宿主机中的一个目录或文件
- 当容器目录和数据卷目录绑定之后,双方的修改是同步的
- 容器 和 数据卷 之间是多对多的关系,即一个容器可以挂载多个数据卷,一个数据卷也可以同时被多个容器所挂载
-
作用:
- 容器数据的持久化(不会因