简介
Docker 这个开源的应用容器引擎其实在之前在学校学习分布式微服务的时候就已经接触过了。出来实习的第一家公司里用的是 SpringBoot 单体式项目,第二家实习公司,也就是现在的这一家做的是 to B 的企业管理项目,用到了 Docker,于是借着这篇文章回忆、复习一下。
安装 Docker
1.卸载旧版本 Docker
命令:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
命令:
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3.设置仓库,不设置的话后面我们下载镜像会非常慢。
命令:
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4.安装最新版本的 Docker Engine-Community 和 containerd
命令:
yum install docker-ce docker-ce-cli containerd.io
中间会让你确认一次,输入y
就可以。
后面我下载还失败了一次,不过它会自动切换下载源然后重新下载,耐心等待就可以。
5.启动 Docker
命令:
systemctl start docker
6.通过运行 hello-world
镜像来验证是否正确安装了 Docker Engine-Community
。因为我们之前没有拉取过这个镜像,所以它会给出提示并且自动从 docker
镜像仓库中下载,默认是从 Docker Hub
公共镜像源下载。如下图一样,看到Hello from Docker
就表示安装成功了。
命令:
docker run hello-world
操作镜像
这里有个东西要提前讲一下,Docker 里提到了镜像和容器两个名词。Docker 的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository);
如下图所示,容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象。
1.查看本机的镜像
命令:
docker images
各个选项说明:
- REPOSITORY: 表示镜像的仓库源
- TAG: 镜像的标签
- IMAGE ID: 镜像ID
- CREATED: 镜像创建时间
- SIZE: 镜像大小
解释:同一仓库源可以有多个 TAG
,代表这个仓库源的不同个版本,如 ubuntu
仓库源里,有 15.10、14.04 等多个不同的版本
2.查找镜像
命令:
docker search 镜像名
例如这里我们查找httpd
这个镜像,它会把类似的镜像都列出来:
各个选项说明:
- NAME: 镜像仓库源的名称
- DESCRIPTION: 镜像的描述
- OFFICIAL: 是否
docker
官方发布 - STARS: 类似
Github
里面的star
,表示点赞、喜欢的意思。 - AUTOMATED: 自动构建
3.拉取镜像
命令:
docker pull 镜像名
- 这里我们以拉取
httpd
为例
- 查看本地有没有了
4.运行镜像
命令:
docker run 镜像名
- 这里还是以
httpd
为例
5.在后台运行镜像
命令:
docker run -d 镜像名
6.删除镜像(要确保该镜像没有运行容器,否则会出错)
命令:
docker rmi 镜像名
- 这里以删除
Hello-world
镜像为例
- 查看删除没有
操作容器
1.查看在运行的容器
命令:
docker ps
2.查看所有的的容器
命令:
docker ps -a
3.停止一个容器
命令:
docker stop <容器 ID>
查看有没有停止
4.启动一个容器
命令:
docker start <容器 ID>
5.重启一个容器
命令:
docker restart <容器 ID>
5.进入运行在后台的容器
命令:
docker attach <容器 ID>
- 光标停在了这里表示我已经进入了容器内部,不是在系统终端了
6.退出容器终端(不会造成容器停止)
命令:
docker exec <容器 ID>
7.删除容器(删除容器前须先停止该容器,否则会出错)
命令:
docker rm -f <容器 ID>
- 查看有没有被删除
卸载 Docker
1.查询安装过的包
命令:
yum list installed | grep docker
2.删除安装的软件包
命令:
yum -y remove 安装包名
3.删除 Docker 里下载的镜像/容器等
命令:
rm -rf /var/lib/docker
- 先查看下
- 删除
参考文档
https://www.runoob.com/docker/docker-tutorial.html
https://www.cnblogs.com/xuezhigu/p/6553936.html