Docker的yum源安装和二进制方式安装

Docker的yum源安装

1.添加docker-ce源信息 (换镜像源,下载速度更快)
[root@node1 yum.repos.d]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo --no-check-certificate

2.修改docker-ce源
[root@node1 system]# vi /etc/yum.repos.d/docker-ce.repo
:% s#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g
#上面那行在编辑模式回车即可

[root@node1 ~]# yum makecache fast
[root@node1 ~]# yum install docker-ce -y
[root@node1 ~]# systemctl start docker
[root@node1 ~]# docker version
[root@node1 lib]# more /usr/lib/systemd/system/docker.s
docker.service  docker.socket   
[root@node1 lib]# more /usr/lib/systemd/system/docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd
.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate i
ssues still
# exists and systemd currently does not support the cgroup feature set
 required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/conta
inerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

在这里插入图片描述

二进制安装

[root@node2 ~]# wget -c https://download.docker.com/linux/static/stable/x86_64/docker-20.10.18.tgz
[root@node2 ~]# tar xf docker-20.10.18.tgz -C /usr/local/
[root@node2 ~]# cd /usr/local/docker/
[root@node2 docker]# ll
total 194372
-rwxr-xr-x. 1 centos1 centos1 38629608 Sep  8 16:12 containerd
-rwxr-xr-x. 1 centos1 centos1  7442432 Sep  8 16:12 containerd-shim
-rwxr-xr-x. 1 centos1 centos1  9641984 Sep  8 16:12 containerd-shim-runc-v2
-rwxr-xr-x. 1 centos1 centos1 20582400 Sep  8 16:12 ctr
-rwxr-xr-x. 1 centos1 centos1 48041616 Sep  8 16:12 docker
-rwxr-xr-x. 1 centos1 centos1 57561400 Sep  8 16:12 dockerd
-rwxr-xr-x. 1 centos1 centos1   704520 Sep  8 16:12 docker-init
-rwxr-xr-x. 1 centos1 centos1  2555160 Sep  8 16:12 docker-proxy
-rwxr-xr-x. 1 centos1 centos1 13862888 Sep  8 16:12 runc

#docker近期新版本多了containerd和runc

#由于二进制安装少了服务脚本,我们可以从刚才yum安装方式的脚本拷贝副本过来
#经过测试docker.socket docker.service containerd.service必须要拷贝
#如果自己想测试,就可以先拷贝一个docker.service,然后启动看看报错原因
[root@node2 system]# scp 192.168.213.133:/usr/lib/systemd/system/container*  /usr/lib/systemd/system
[root@node2 system]# scp 192.168.213.133:/usr/lib/systemd/system/docker* /usr/lib/systemd/system

[root@node2 system]# cd /usr/lib/systemd/system
[root@node2 system]# ll | grep docker
-rw-r--r--. 1 root root 1709 Sep 15 04:10 docker.service
[root@node2 system]# 


#因为服务脚本里面services的Excestart 部分显示docker启动命令放在/usr/bin下面,所以我们既可以在那个目录下面放置对应脚本文件,也可以创建软链接在/usr/bin下面

[root@node2 system]# ln  -sv  /usr/local/docker/*   /usr/bin
‘/usr/bin/containerd’ -> ‘/usr/local/docker/containerd’
‘/usr/bin/containerd-shim’ -> ‘/usr/local/docker/containerd-shim’
‘/usr/bin/containerd-shim-runc-v2’ -> ‘/usr/local/docker/containerd-shim-runc-v2’
‘/usr/bin/ctr’ -> ‘/usr/local/docker/ctr’
‘/usr/bin/docker’ -> ‘/usr/local/docker/docker’
‘/usr/bin/dockerd’ -> ‘/usr/local/docker/dockerd’
‘/usr/bin/docker-init’ -> ‘/usr/local/docker/docker-init’
‘/usr/bin/docker-proxy’ -> ‘/usr/local/docker/docker-proxy’

#而且新版本需要创建一个组
[root@node2 system]# groupadd -r docker
[root@node2 system]# systemctl daemon-reload 


docker.socket
[root@node2 system]# cat docker.socket 
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

docker.service
[root@node2 system]# cat docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[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 fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# 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

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity

# 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
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target

containerd.service
[root@node2 system]# cat containerd.service 
# Copyright The containerd Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd

Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity
# Comment TasksMax if your systemd version does not supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
二进制安装Docker是一种在企业内网环境中安装Docker方式,因为在这种环境下无法使用yum安装二进制安装需要准备Docker CE的二进制包,并按照一定的步骤进行安装。首先,需要下载Docker发布的Linux二进制包,也可以选择自己编译。然后,生成docker.service文件并将其设定到/usr/lib/systemd/system目录下。接下来,将Docker二进制文件docker*拷贝到/usr/bin或者其他可以找到的执行路径目录。最后,使用systemctl命令重启Docker,并使用systemctl enable命令将Docker设置为开机启动。这样就完成了二进制安装Docker的过程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [二进制安装Docker(亲测有效)](https://blog.csdn.net/weixin_45966984/article/details/129988840)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [二进制方式安装docker](https://blog.csdn.net/liumiaocn/article/details/71157586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值