最近接手了几个项目,发现项目的部署基本上都是基于Docker的,幸亏在几年前已经熟悉的Docker的基本使用,没有抓瞎。这两年随着云原生的发展,Docker在云原生中的作用使得它也蓬勃发展起来。 今天这篇文章就带大家一起实现一下在Linux操作系统下Docker的部署过程,收藏起来,以备不时之需。当然,如果对Docker感兴趣的话,可以直接根据本文的步骤操作起来。终有一天你会享受到Docker的便利与魅力的。 Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版)。相对于社区版本,企业版本强调安全性,但需付费使用。这里我们使用社区版本即可。 Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。 查看Linux版本的命令这里推荐两种: 显然,当前Linux系统为CentOS7。再查一下内核版本是否不低于3.10。 查看内核版本有三种方式: 三种形式都可以查看到内容版本,比如: 可以看到,当前Linux内核版本满足Docker的需要。 Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。 官方的一键安装方式: 国内 daocloud一键安装命令: 执行上述任一条命令,耐心等待即可完成Docker的安装。 手动安装Docker分三步:卸载、设置仓库、安装。 第一步,卸载历史版本。这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载: 第二步,设置仓库。新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。 在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。 执行上述命令,安装完毕即可进行仓库的设置。使用官方源地址设置命令如下: 通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址: 仓库设置完毕,即可进行Docker的安装。 执行一下命令,安装最新版本的 Docker Engine-Community 和 containerd。 docker-ce为社区免费版本。稍等片刻,docker即可安装成功。但安装完成之后的默认是未启动的,需要进行启动操作。 如果不需要docker-ce-cli或containerd.io可直接执行如下命令: 至此,完成Docker安装。 启动Docker的命令: 通过运行hello-world镜像来验证是否正确安装了Docker Engine-Community。 如果执行之后,控制台显示如下信息,则说明Docker安装和启动成功: 除了启动Docker,一些其他启动相关的命令: 删除安装包: 删除镜像、容器、配置文件等内容: 安装完成Docker之后,这里汇总列一下常见的Docker操作命令: 更多的命令可以通过 本篇文章带大家从头到尾在Linux操作系统上安装了Docker,以及介绍了如何启动、验证及常见的命令。后面如果有机会话,再大家了解一下如何制作Docker镜像,用于CI/CD发布当中。背景
Docker及系统版本
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: Corecat /etc/redhat-release
查看版本效果:[~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)[ ~]$ uname -r
3.10.0-1160.45.1.el7.x86_64Docker的自动化安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -sSL https://get.daocloud.io/docker | sh
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设置源仓库
$ 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.repoDocker安装
sudo yum install -y docker-ce docker-ce-cli containerd.io
yum install -y docker-ce
Docker启动
sudo systemctl start docker
// 拉取镜像
sudo docker pull hello-world
// 执行hello-world
sudo docker run hello-world[root@iZ8vb8pfb2awsz4qy7vm7qZ ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
……删除Docker
yum remove docker-ce
rm -rf /var/lib/docker
Docker其他常见命令
docker attach 容器ID
或docker exec -it 容器ID /bin/bash
,推荐使用后者。docker help
命令来查看。小结