配置要求
Docker CE(社区免费版) 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。如下是我的centos内核
[root@localhost /]# cat etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
一、Centos安装Docker
1.1 卸载(如果想换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
1.2 安装docker
首先需要大家虚拟机联网,安装yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后输入命令:
yum install -y docker-ce
我们可以通过下面命令来查看docker的版本
docker --version
1.3 启动docker
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙,但是公司生产环境不能这样做哦!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
接着通过命令启动docker
systemctl start docker
1.4 配置镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
这里我截图出来了:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://u2vcound.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二 测试docker是否正常使用
2.1 拉取nginx镜像
我们通过下面命令去 docker hub拉取nginx镜像,因为我们没有加版本号,所以默认的是latest,也就是最新版
docker pull nginx
如果上面的阿里云拉取nginx镜像失败,则可以替换成下面的镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
然后再重新拉取:
docker pull nginx
然后我们通过下面命令查看当前docker的所有镜像
docker images
我们看到我们的nginx镜像就在其中,tag是版本号
2.2 创建并运行容器
接下来我们来创建一个nginx容器,创建的命令如下
docker run --name containerName -p 80:80 -d nginx
命令解读:
docker run :创建并运行一个容器
–name : 给容器起一个名字,比如叫做mn
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx
这里的-p参数,是将容器端口映射到宿主机端口。
默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。
现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了
接着我们去浏览器测试一下,能不能访问到nginx的网站
在浏览器里面输入虚拟机ip地址,能弹出nginx欢迎页面,说明nginx安装成功