背景
最近接手了几个我的项目,发现我的项目的部署基本上都是基于 Docker 的,幸好在几年前曾经相熟的 Docker 的根本应用,没有抓瞎。这两年随着云原生的倒退,Docker 在云原生中的作用使得它也蓬勃发展起来。
明天这篇文章就带大家一起实现一下在 Linux 操作系统下 Docker 的部署过程,珍藏起来,以备不时之需。当然,如果对 Docker 感兴趣的话,能够间接依据本文的步骤操作起来。终有一天你会享受到 Docker 的便当与魅力的。
Docker 及零碎版本
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版)和 EE(Enterprise Edition: 企业版)。绝对于社区版本,企业版本强调安全性,但需付费应用。这里咱们应用社区版本即可。
Docker 反对 64 位版本的 CentOS 7 和 CentOS 8 及更高版本,它要求 Linux 内核版本不低于 3.10。
查看 Linux 版本的命令这里举荐两种:lsb_release -a
或cat /etc/redhat-release
。
lsb_release -a
查看成果:
[~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
cat /etc/redhat-release
查看版本成果:
[~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
显然,以后 Linux 零碎为 CentOS7。再查一下内核版本是否不低于 3.10。
查看内核版本有三种形式:
- cat /proc/version
- uname -a
- uname -r
三种模式都能够查看到内容版本,比方:
[~]$ uname -r
3.10.0-1160.45.1.el7.x86_64
能够看到,以后 Linux 内核版本满足 Docker 的须要。
Docker 的自动化装置
Docker 官网和国内 daocloud 都提供了一键装置的脚本,使得 Docker 的装置更加便捷。
官网的一键装置形式:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
国内 daocloud 一键装置命令:
curl -sSL https://get.daocloud.io/docker | sh
执行上述任一条命令,急躁期待即可实现 Docker 的装置。
Docker 手动装置
手动装置 Docker 分三步:卸载、设置仓库、装置。
卸载 Docker(可选)
第一步,卸载历史版本。这一步是可选的,如果之前装置过旧版本的 Docker,能够应用如下命令进行卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
设置源仓库
第二步,设置仓库。新主机上首次装置 Docker Engine-Community 之前,须要设置 Docker 仓库。尔后可从仓库装置和更新 Docker。
在设置仓库之前,需先依照所需的软件包。yum-utils 提供了 yum-config-manager,并且 device mapper 存储驱动程序须要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
执行上述命令,装置结束即可进行仓库的设置。应用官网源地址设置命令如下:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
通常,官网的源地址比较慢,可将上述的源地址替换为国内比拟快的地址:
- 阿里云:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 清华大学源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
仓库设置结束,即可进行 Docker 的装置。
Docker 装置
执行一下命令,装置最新版本的 Docker Engine-Community 和 containerd。
sudo yum install -y docker-ce docker-ce-cli containerd.io
docker-ce 为社区收费版本。稍等片刻,docker 即可装置胜利。但装置实现之后的默认是未启动的,须要进行启动操作。
如果不须要 docker-ce-cli 或 containerd.io 可间接执行如下命令:
yum install -y docker-ce
至此,实现 Docker 装置。
Docker 启动
启动 Docker 的命令:
sudo systemctl start docker
通过运行 hello-world 镜像来验证是否正确装置了 Docker Engine-Community。
// 拉取镜像
sudo docker pull hello-world
// 执行 hello-world
sudo docker run hello-world
如果执行之后,控制台显示如下信息,则阐明 Docker 装置和启动胜利:
[root@iZ8vb8pfb2awsz4qy7vm7qZ ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
……
除了启动 Docker,一些其余启动相干的命令:
- 守护过程重启:systemctl daemon-reload
- 重启 Docker 服务:systemctl restart docker / service docker restart
- 敞开 Docker 服务:docker service docker stop / docker systemctl stop docker
删除 Docker
删除安装包:
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
Docker 其余常见命令
装置实现 Docker 之后,这里汇总列一下常见的 Docker 操作命令:
- 搜寻仓库镜像:docker search 镜像名
- 拉取镜像:docker pull 镜像名
- 查看正在运行的容器:docker ps
- 查看所有容器:docker ps -a
- 删除容器:docker rm container_id
- 查看镜像:docker images
- 删除镜像:docker rmi image_id
- 启动(进行的)容器:docker start 容器 ID
- 进行容器:docker stop 容器 ID
- 重启容器:docker restart 容器 ID
- 启动(新)容器:docker run -it ubuntu /bin/bash
- 进入容器:
docker attach 容器 ID
或docker exec -it 容器 ID /bin/bash
,举荐应用后者。
更多的命令能够通过 docker help
命令来查看。
小结
本篇文章带大家从头到尾在 Linux 操作系统上装置了 Docker,以及介绍了如何启动、验证及常见的命令。前面如果有机会话,再大家理解一下如何制作 Docker 镜像,用于 CI/CD 公布当中。
博主简介:《SpringBoot 技术底细》技术图书作者,热爱钻研技术,写技术干货文章。
公众号:「程序新视界」,博主的公众号,欢送关注~
技术交换:请分割博主微信号:zhuan2quan