linux(centos)离线(二进制)安装docker、docker-compose。设置docker自启动

前言
系统为centos7.7,记一次内网离线安装docker与docker-compose的过程。安装过程大多来自官方文档,问题解决来源度娘。
本人本次安装所使用的文件和包总览如下。其他版本和系统请在本文中官方下载地址自行下载
百度云下载链接
链接:https://pan.baidu.com/s/1O4hnbObRr4j9ihj5QdCjbQ
提取码:lkun


安装docker
官网安装文档
一开始准备用包安装,按官网步骤下载了几需要的几个包。但是安装时提示还需要其他依赖。我不想麻烦所以放弃了这个方法。

二进制安装
二进制安装文档

下载tgz包
在给出的下载地址中下载好匹配的包,并上传到centos中。我下载的是x86_64下的
docker-20.10.10.tgz

解压拷贝
在和docker包同路径下

tar -zxvf docker-20.10.10.tgz
1
解压后生成docker目录

[root@localhost docker-tar]# ls
docker  docker-20.10.10.tgz

1
2
3
继续在该路径下操作

cp docker/* /usr/bin/
1
至此安装完成,按文档启动守护进程

dockerd &
1
但是运行hello-world会失败,因为网络原因,可以运行其他命令测试安装是否成功
比如docker,docker ps 之类的都行.

设置docker自启动
二进制安装的方式直接使用以下命令会报错

# 设置开机自启动
systemctl enable docker
# 启动docker进程
systemctl start docker

1
2
3
4
5
解决办法在此

下载该博主提供的docker.service和docker.socket上传到centos。
把上部两个文件移动到/etc/systemd/system路径下。
然后执行以下命令

# 先重启 systemctl 守护进程
systemctl daemon-reload
# 再开启 docker 服务
systemctl start docker
#设置自启动
systemctl enable docker
# * 如果上一行代码显示失败,那么重启电脑再重试上面两行命令 *
$ sudo reboot

1
2
3
4
5
6
7
8
9
安装docker-compose
compose安装文档

下载compose
下载链接
我下载的是v2.2.2版本

修改该文件名为docker-compose,通过ftp上传到centos中

移动到官网说的路径下并添加权限
mv docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
1
2
测试是否可用

[root@localhost ~]# docker-compose version
Docker Compose version v2.2.2

1
2
3
至此安装完成。

开放2375端口连接
关闭防火墙

systemctl disable firewalld
systemctl stop firewalld
1
2
修改docker.service。前面使用了docker.service设置自启动,放置在/etc/systemd/system路径下。

vi /etc/systemd/system/docker.service 
在ExecStart=/usr/bin/dockerd  后插入
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
1
2
3
[root@localhost system]# vi /etc/systemd/system/docker.service 

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
重启docker,可以连接到2375端口。

[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl restart docker

1
2
3
其他安装思路(在线转离线,解决依赖)
新建一台相同系统能连外网的虚拟机,确认yum下载包位置,清空该位置。直接按官网在线安装步骤安装完所需包和依赖,确认docker环境无误后,将所有yum下载的rpm包打包上传到内网机上解压,最后安装所有依赖和包,

rpm -ivh *.rpm –force
————————————————
版权声明:本文为CSDN博主「ing X」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35968173/article/details/121974639

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值