hugo-teek is loading...

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

最后更新于:

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

img

目录

[toc]

实验环境

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

实验软件(无)

一、基础环境配置

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

1systemctl stop firewalld
2systemctl disable  firewalld
3
4systemctl stop NetworkManager
5systemctl disable  NetworkManager
6
7setenforce 0
8sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config

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

 1cd /etc/yum.repos.d/
 2mkdir backup-`date +%F`
 3mv * !$
 4
 5wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 6yum clean all
 7yum makecache
 8
 9yum install -y net-tools
10yum install -y vim
11yum install -y wget
12yum install -y lrzsz

二、卸载旧版本docker

1yum remove docker \
2                  docker-client \
3                  docker-client-latest \
4                  docker-common \
5                  docker-latest \
6                  docker-latest-logrotate \
7                  docker-logrotate \
8                  docker-engine

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

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

四、配置国内 docker 的 yum 源

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

1[root@docker ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2
3#生成yum缓存,后续准备安装docker:
4[root@docker ~]# yum makecache

img

五、安装 docker-ce

1、安装 docker-ce

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

img

  • 查看当前系统已经安装的docker-ce安装包:
1[root@docker ~]#rpm -qa|grep docker-ce
2[root@docker ~]#rpm -qa|grep containerd

img

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

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

img

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

img

3、查看docker版本

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

img

img

img

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

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

地址:https://hub.docker.com,但官方下载速度贼慢,因此我们可以使用阿里云 docker 镜像加速器,提升 pull 的速度:

1、获取阿里云自己专有的镜像加速器地址

你只需要登录容器Hub服务 https://cr.console.aliyun.com的控制台,使用你的支付宝帐号,第一次登录时,需要设置一个独立的密码,左侧的加速器帮助页面就会显示为你独立分配的加速地址。

img

img

 1#本人的阿里云镜像加速器地址为:
 2https://kvuwuws2.mirror.aliyuncs.com
 3
 4#命令如下:
 5sudo mkdir -p /etc/dockersudo 
 6tee /etc/docker/daemon.json <<-'EOF
 7'{    
 8  "registry-mirrors": ["https://kvuwuws2.mirror.aliyuncs.com"]
 9}
10EOF
11
12sudo systemctl daemon-reload
13sudo systemctl restart docker

2、配置docker镜像地址

 1#直接执行如下代码即可:
 2sudo mkdir -p /etc/docker
 3#这里的配置待更新
 4sudo tee /etc/docker/daemon.json <<EOF
 5{
 6  "registry-mirrors": [
 7    "https://docker.1ms.run",
 8    "https://docker.1panel.live",
 9    "https://docker.m.ixdev.cn",
10    "https://hub.rat.dev",
11    "https://dockerproxy.net",
12    "https://docker.hlmirror.com",
13    "https://hub1.nat.tf",
14    "https://hub2.nat.tf",
15    "https://hub3.nat.tf",
16    "https://hub4.nat.tf",
17    "https://docker.m.daocloud.io",
18    "https://docker.kejilion.pro",
19    "https://hub.1panel.dev",
20    "https://dockerproxy.cool",
21    "https://proxy.vvvv.ee"
22  ]
23}
24EOF
25
26备注:
27#我们在安装了docker服务后,默认在就会生成/etc/docker目录了,以上命令再次创建了/etc/docker目录,是没问题的,原来目录下的文件不会被覆盖的;

img

验证:

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

img

img

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

1[root@docker ~]#docker images
2[root@docker ~]#docker pull centos

img

img

七、开启网络转发功能

 1(1)永久生效方法:
 2[root@docker ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
 3[root@docker ~]# sysctl -p #生效net.ipv4.ip_forward = 1
 4[root@docker ~]# cat /proc/sys/net/ipv4/ip_forward #查看,1代表开启网络路由转发功能
 51
 6
 7(2)临时生效方法:
 8[root@docker ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
 9[root@docker ~]# cat /proc/sys/net/ipv4/ip_forward
101
11
12#最终输出脚本:
13echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
14sysctl -p 
15cat /proc/sys/net/ipv4/ip_forward

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

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

img

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

img

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

img

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

img

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

img

http://172.29.9.2/

img

  • 此时,如何知道这个是我们的容器呢?可以通过进入刚才创建的容器,命令修改nginx index.html文件,来验证:
 1root@docker:~# docker ps
 2root@docker:~# docker exec -it 00f7ff787d47 bash #-i代表标准输入,t代表tty
 3root@00f7ff787d47:/# pwd/
 4root@00f7ff787d47:/# cat /etc/issue #查看容器系统是debaian的Debian GNU/Linux 10 \n \l
 5root@00f7ff787d47:/# cd /usr/share/nginx/html/
 6root@00f7ff787d47:/usr/share/nginx/html# ls -l
 7total 8-rw-r--r-- 1 root root 494 Aug 13  2019 50x.html
 8-rw-r--r-- 1 root root 612 Aug 13  2019 index.html
 9root@00f7ff787d47:/usr/share/nginx/html# cat index.html 
10<!DOCTYPE html>
11……
12</html>
13root@00f7ff787d47:/usr/share/nginx/html# echo "Linux39" > index.html #修改nginx index.html文件

img

img

img

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

img

实验到此结束!

docker一键安装脚本

注意事项:

1、机器可连通外网;

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

 1#初始环境
 2systemctl stop firewalld
 3systemctl disable  firewalld
 4
 5systemctl stop NetworkManager
 6systemctl disable  NetworkManager
 7
 8setenforce 0
 9sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
10
11
12
13
14yum install -y net-tools
15yum install -y vim
16yum install -y wget
17yum install -y lrzsz
18
19
20cd /etc/yum.repos.d/
21mkdir backup-`date +%F`
22mv * !$
23
24cd /etc/yum.repos.d/
25wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
26yum clean all
27yum makecache
28
29
30
31yum remove docker \
32                  docker-client \
33                  docker-client-latest \
34                  docker-common \
35                  docker-latest \
36                  docker-latest-logrotate \
37                  docker-logrotate \
38                  docker-engine
39                  
40yum install -y yum-utils device-mapper-persistent-data lvm2
41yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
42yum makecache
43
44#yum install docker-ce -y
45yum install -y yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io #指定需要安装的版本号
46systemctl start docker && systemctl enable docker
47
48docker version
49docker info
50
51
52sudo mkdir -p /etc/docker
53#这里的配置待更新
54sudo tee /etc/docker/daemon.json <<EOF
55{
56  "registry-mirrors": [
57    "https://docker.1ms.run",
58    "https://docker.1panel.live",
59    "https://docker.m.ixdev.cn",
60    "https://hub.rat.dev",
61    "https://dockerproxy.net",
62    "https://docker.hlmirror.com",
63    "https://hub1.nat.tf",
64    "https://hub2.nat.tf",
65    "https://hub3.nat.tf",
66    "https://hub4.nat.tf",
67    "https://docker.m.daocloud.io",
68    "https://docker.kejilion.pro",
69    "https://hub.1panel.dev",
70    "https://dockerproxy.cool",
71    "https://proxy.vvvv.ee"
72  ]
73}
74EOF
75
76
77
78cat /proc/sys/net/ipv4/ip_forward
79echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
80sysctl -p
81cat /proc/sys/net/ipv4/ip_forward
82
83systemctl daemon-reload
84systemctl restart docker

总结

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

img

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航