下载二进制包
压到 /usr/local/bin ,我用的版本比较新
https://download.docker.com/linux/static/stable/x86_64/
创建systemd文件
containerd.service (可选)
cat << 'EOF' > /usr/lib/systemd/system/containerd.service [Unit] Description=containerd container runtime Documentation=https://containerd.io After=network.target local-fs.target [Service] ExecStartPre=-/sbin/modprobe overlay ExecStart=/usr/local/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=1048576 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 EOF
docker.service
cat << 'EOF' > /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service containerd.service multi-user.target 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/local/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 EOF
docker.socket
cat << 'EOF' > /usr/lib/systemd/system/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 EOF
创建docker组
groupadd docker
如果不创建会报错
6月 09 06:30:31 localhost.localdomain systemd[1]: Dependency failed for Docker Application Container Engine.
6月 09 06:30:31 localhost.localdomain systemd[1]: Job docker.service/start failed with result ‘dependency’.
启动服务
systemctl daemon-reloadsystemctl start docker
docker 命令补全
安装docker自带包:
source /usr/share/bash-completion/completions/docker
缺少下面的包,TAB会报错
yum install -y bash-completion
Original: https://www.cnblogs.com/outsrkem/p/14864857.html
Author: Outsrkem
Title: 二进制安装docker
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578455/
转载文章受原作者版权保护。转载请注明原作者出处!