Skip to content

实战-centos在线安装docker-成功测试-20220804

实战:centos在线安装docker-2022.8.4(成功测试)

img

目录

[toc]

实验环境

plain
1.虚机版本:1台Centos.7.6 1810 vmworkstation虚机;2.虚机IP:172.29.9.2 nat网络(保证可通外网) 主机名:docker;3.docker版本:20.10.8

实验软件(无)

一、基础环境配置

1、关闭且禁用firewalld、NetworkManager、selinux服务

bash
systemctlstopfirewalldsystemctldisablefirewalldsystemctlstopNetworkManagersystemctldisableNetworkManagersetenforce0sed-is/SELINUX=enforcing/SELINUX=disabled//etc/selinux/config

2、配置网络yum源(或者本地yum源)

bash
cd/etc/yum.repos.d/mkdirbackup-`date +%F`mv*!$wget-O/etc/yum.repos.d/Centos-Base.repohttp:yumcleanallyummakecacheyuminstall-ynet-toolsyuminstall-yvimyuminstall-ywgetyuminstall-ylrzsz

二、卸载旧版本docker

bash
yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine

三、安装必要的一些系统工具

bash
[root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

四、配置国内 docker 的 yum 源

因为默认的yum源包含docker的安装包版本真的太低了,因此这里需要特别配置国内docker的yum源:

bash
[root@docker ~]# yum-config-manager --add-repo http:#生成yum缓存,后续准备安装docker:[root@docker ~]# yum makecache

img

五、安装 docker-ce

1、安装 docker-ce

  • yum默认安装的是最新版本的docker:
bash
[root@docker ~]#yum install -y docker-ce

img

  • 查看当前系统已经安装的docker-ce安装包:
bash
[root@docker ~]#rpm -qa|grepdocker-ce[root@docker ~]#rpm -qa|grepcontainerd

img

2、启动并开机自启docker服务

注意:刚安装好docker,用docker version查看版本时,报如下提示,是因为docker服务没启动起来起来

img

  • 启动并开机自启docker服务:
bash
[root@docker ~]# systemctl start docker[root@docker ~]# systemctl enable docker

img

3、查看docker版本

bash
[root@docker ~]#docker version #查看docker版本[root@docker ~]#docker info #查看docker详细信息

img

img

img

六、配置国内阿里云镜像加速器并下载镜像

Docker Hub是由Docker公司负责维护的公共镜像仓库,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。

地址:https:https:#命令如下:sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["https:}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

2、配置docker镜像地址

bash
#直接执行如下代码即可:mkdir-p/etc/dockertee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["https:}EOFsystemctldaemon-reloadsystemctlrestartdocker备注:#我们在安装了docker服务后,默认在就会生成/etc/docker目录了,以上命令再次创建了/etc/docker目录,是没问题的,原来目录下的文件不会被覆盖的;

img

验证:

bash
在最后,可以看到镜像仓库的地址,已经改为阿里云了,原来默认镜像仓库的地址还在,但是默认会优先使用刚添加的阿里云地址的;[root@docker ~]#docker info

img

img

再下载,就可以了,可以发现下载速度贼快:

bash
[root@docker ~]#docker images[root@docker ~]#docker pull centos

img

img

七、开启网络转发功能

bash
(1)永久生效方法:[root@docker ~]# echo "net.ipv4.ip_forward =1">>/etc/sysctl.conf [root@docker ~]# sysctl -p #生效net.ipv4.ip_forward =1[root@docker ~]# cat /proc/sys/net/ipv4/ip_forward #查看,1代表开启网络路由转发功能1(2)临时生效方法:[root@docker ~]# echo 1 >/proc/sys/net/ipv4/ip_forward[root@docker ~]# cat /proc/sys/net/ipv4/ip_forward1#最终输出脚本:echo"net.ipv4.ip_forward =1">>/etc/sysctl.confsysctl-pcat/proc/sys/net/ipv4/ip_forward

八、验证:拉取一个nginx镜像运行起来并观看效果

  • 拉取镜像:
bash
[root@docker ~]# docker pull nginx:1.16.1

img

  • 查看下载好的nginx镜像:
bash
[root@docker ~]# docker images

img

  • 运行一个docker实例:
bash
[root@docker ~]# docker run -d -p 80:80 nginx:1.16.1 #-d代表后台,宿主机端口:容器端口 先在本地查找镜像,本地不存在的话,就去官网下载(docker.hub.com),如果有配置其他yum源,就会优先到配置的yum源去拉取进行镜像602c24fa33e3a93a40899db38590f3a1287a8362a29be56328f715db7e62d869[root@docker~]#

img

  • 查看正在运行的容器:
bash
[root@docker ~]# docker ps

img

  • 此时在宿主机上访问这个地址,查看效果:
bash
[root@docker ~]#curl 172.29.9.2

img

http:root@docker:~#dockerexec-it00f7ff787d47bash#-i代表标准输入,t代表ttyroot@00f7ff787d47:/#pwd/root@00f7ff787d47:/#cat/etc/issue#查看容器系统是debaian的Debian GNU/Linux 10 \n \lroot@00f7ff787d47:/#cd/usr/share/nginx/html/root@00f7ff787d47:/usr/share/nginx/html#ls-ltotal8-rw-r--r--1rootroot494Aug13201950x.html-rw-r--r--1rootroot612Aug132019index.htmlroot@00f7ff787d47:/usr/share/nginx/html#catindex.html<!DOCTYPEhtml>……</html>root@00f7ff787d47:/usr/share/nginx/html#echo"Linux39">index.html#修改nginx index.html文件

img

img

img

此时再次在宿主机上刷新网页观看效果:(符合预期)

img

实验到此结束!

docker一键安装脚本

注意事项:

1、机器可连通外网;

2、次脚本可一键直接执行;

bash
#初始环境systemctlstopfirewalldsystemctldisablefirewalldsystemctlstopNetworkManagersystemctldisableNetworkManagersetenforce0sed-is/SELINUX=enforcing/SELINUX=disabled//etc/selinux/configyuminstall-ynet-toolsyuminstall-yvimyuminstall-ywgetyuminstall-ylrzszcd/etc/yum.repos.d/mkdirbackup-`date +%F`mv*!$cd/etc/yum.repos.d/wget-O/etc/yum.repos.d/CentOS-Base.repohttp:yumcleanallyummakecacheyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engineyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager--add-repohttp:yummakecache#yum install docker-ce -yyuminstall-yyuminstalldocker-ce-19.03.9docker-ce-cli-19.03.9containerd.io#指定需要安装的版本号systemctlstartdocker&&systemctlenabledockerdockerversiondockerinfosudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<EOF{"registry-mirrors":["https:"https:"https:"https:"https:"https:"https:"https:"https:]}EOFcat/proc/sys/net/ipv4/ip_forwardecho"net.ipv4.ip_forward =1">>/etc/sysctl.confsysctl-pcat/proc/sys/net/ipv4/ip_forwardsystemctldaemon-reloadsystemctlrestartdocker

总结

以上,就是如何在Centos上安装docker服务的完整过程了。关于docker进一步如何使用,请看后续博客,欢迎大家的阅读。

img

最近更新