系统环境
- CentOS Linux release 7.5.1804 (Core)
安装依赖包
- 更新系统软件
yum update
- 安装docker
yum install docker
- 启动docker并设置开机启动,查看启动状态
systemctl enable docker.service
systemctl start docker.service
systemctl status docker.service
- 查看安装位置
rpm -ql docker
- 安装docker仓库
yum install docker-distribution
- 查看安装位置
rpm -ql docker-distribution
- 启动服务,并设置开机启动
systemctl enable docker-distribution
systemctl start docker-distribution
systemctl status docker-distribution
- 查看docker版本
docker version
docker基本操作
- 搜索镜像
docker search centos:latest
- 将镜像拉到本地,然后就能通过docker images查看到
# 以下两种方式,一种指定镜像来源,一种默认官方源
docker pull docker.io/centos
docker pull centos
由于docker是国外的,中国区访问质量不是很好,可以配置一些国内的镜像源
vim /etc/docker/daemon.json
修改为下面的内容
{"registry-mirrors":["https://registry.docker-cn.com"]}
- 查看本地镜像
docker images
- 查看本地容器
docker ps
不带选项只显示当前运行带容器
加上-a选项,可以看到历史运行容器
- 运行镜像
# 以交互式进入容器操作
docker run -it 镜像ID /bin/bash
# 下面这种方式,带上--rm参数,表示容器运行完退出时一起删除,节省系统资源, --name则是给容器起个名字,这个名字和容器ID的效果一样使用
docker run -it --rm --name cmdb centos:latest
- 进入一个已经运行的容器
docker exec -it cmdb bash
- 查看容器与原始镜像内容变化
# 会列出容器修改后的路径及文件位置
docker diff cmdb
- 保存容器
docker commit -m "注释信息" 容器ID tag标记
# 如对cmdb服务器内容修改,然后创建一个新版本,类似git版本控制,这样下次启动基于这个新版本,就不在需要做上一个版本与这个版本之间diff差异的操作
docker commit --author "zengchunyun" --message "update index.html" cmdb centos:v2
# 通过查看docker images就会出现新的镜像版本
docker images
# 以新版本镜像运行cmdb
# 注意,运行新版本时,要确保上一个版本的容器分配的端口不能和当前映射的端口一致,否则无法启动
docker run -p 80:80 --name new_cmdb centos:v2
-
删除容器
删除容器前,如果容器在运行状态,需要停止容器 -
停止容器
# 以下两种方式都可以停止容器运行
docker stop [CONTAINER ID]
docker stop [NAMES]
- 删除容器
# 以下两种方式都可以删除容器
docker rm [CONTAINER ID]
docker rm [NAMES]
- 删除镜像
默认删除镜像得保证该镜像不被其它进程使用,也就说没有运行在容器里,可以使用-f参数强制删除镜像
docker rmi 镜像ID