linux离线安装docker并且自启动

因为服务器无法直连外网,有时候docker必须进行离线安装,本次文章记录的是我离线安装过程的操作步骤,仅供参考,不同的环境命令可能会有差异。

环境检查

内核

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

使用命令 uname -r 查看centos内核

[root@LHLNXNS10 system]# uname -r

3.10.0-1160.el7.x86_64

1

2

centos版本信息

通过命令cat /etc/redhat-release可以查看版本信息

[root@LHLNXNS10 system]# cat /etc/redhat-release

CentOS Linux release 7.9.2009 (Core)

确认服务环境满足要求之后,我们开始docker安装

资源下载

官方资源下载路径 下载资源包

在这里我选在下载的版本是:docker-20.10.9.tgz (没有特别要求,默认选了最新版的毛病)

资源包下载后通过WinScp工具上传到 centos服务器。

开始安装

通过命令tar -zxvf ./docker-20.10.9.tgz解压上传好的安装包

通过命令cp docker/* /usr/bin/将解压得到的文件复制到 /usr/bin目录下

在 /etc/systemd/system 目录下创建一个docker.service文件,用于注册docker服务和开机启动

使用命令 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

ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

TimeoutStartSec=0

Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

给service文件设置权限 chmod 777 /etc/systemd/system/docker.service

使用命令 systemctl daemon-reload 重新加载配置

设置docker为开机启动 systemctl enable docker.service

启动 docker 命令 systemctl start docker

查看容器状态 systemctl status docker

[root@LHLNXNS10 system]# systemctl status docker

● docker.service - Docker Application Container Engine

Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)

Active: active (running) since Mon 2022-06-27 11:54:47 CST; 2h 13min ago

Docs:https://docs.docker.com

Main PID: 31137 (dockerd)

Tasks: 51

Memory: 25.2M

CGroup: /system.slice/docker.service

├─31137 /usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1

└─31167 containerd --config /var/run/docker/containerd/containerd.toml --log-level info

Jun 27 11:54:45 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:45.609986010+08:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock0}]}" module=grpc

Jun 27 11:54:45 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:45.610023072+08:00" level=info msg="ClientConn switching balancer to "pick_first"" module=grpc

Jun 27 11:54:45 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:45.741669951+08:00" level=info msg="Loading containers: start."

Jun 27 11:54:47 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:47.260541389+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"

Jun 27 11:54:47 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:47.435080759+08:00" level=info msg="Firewalld: interface docker0 already part of docker zone, returning"

Jun 27 11:54:47 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:47.596933690+08:00" level=info msg="Loading containers: done."

Jun 27 11:54:47 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:47.633966421+08:00" level=info msg="Docker daemon" commit=79ea9d3 graphdriver(s)=overlay2 version=20.10.9

Jun 27 11:54:47 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:47.634328720+08:00" level=info msg="Daemon has completed initialization"

Jun 27 11:54:47 LHLNXNS10 systemd[1]: Started Docker Application Container Engine.

Jun 27 11:54:47 LHLNXNS10 dockerd[31137]: time="2022-06-27T11:54:47.686162748+08:00" level=info msg="API listen on /var/run/docker.sock"

原文链接:https://blog.csdn.net/lingfeian/article/details/125482271

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容