--
:
--
:
--
hugo-teek is loading...
实战-centos在线安装docker-成功测试-20220804
最后更新于:
实战:centos在线安装docker-2022.8.4(成功测试)

目录
[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

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

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

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

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

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



六、配置国内阿里云镜像加速器并下载镜像
Docker Hub是由Docker公司负责维护的公共镜像仓库,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。
地址:https://hub.docker.com,但官方下载速度贼慢,因此我们可以使用阿里云 docker 镜像加速器,提升 pull 的速度:
1、获取阿里云自己专有的镜像加速器地址
你只需要登录容器Hub服务 https://cr.console.aliyun.com的控制台,使用你的支付宝帐号,第一次登录时,需要设置一个独立的密码,左侧的加速器帮助页面就会显示为你独立分配的加速地址。


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目录,是没问题的,原来目录下的文件不会被覆盖的;

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


再下载,就可以了,可以发现下载速度贼快:
1[root@docker ~]#docker images
2[root@docker ~]#docker pull centos


七、开启网络转发功能
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

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

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

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

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

http://172.29.9.2/

- 此时,如何知道这个是我们的容器呢?可以通过进入刚才创建的容器,命令修改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文件



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

实验到此结束!
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进一步如何使用,请看后续博客,欢迎大家的阅读。

📡
👤
作者:
余温Gueen
🌐
版权:
本站文章除特别声明外,均采用
CC BY-NC-SA 4.0
协议,转载请注明来自
余温Gueen Blog!
推荐使用微信支付

推荐使用支付宝
