赞
踩
目录
1.3 卸载 Docker 引擎、CLI 和 Containerd 软件包:
5. 准备两个文件daemon.json和docker.socket
虚拟机 | 1台 |
系统版本 | CentOS Linux release 7.8.2003 (Core) |
内核版本 | 5.16.2-1.el7.elrepo.x86_64 |
访问外网 | 放通 |
源 | 阿里源 |
卸载 Docker :Install Docker Engine on CentOS | Docker Documentation
- docker info
- rpm -qa | grep docker
- yum remove docker-ce docker-ce-cli containerd.io
- #或者使用 rpm -e docker-ce docker-ce-cli containerd.io
- #查找出docker的相关文件夹
- find -name 'docker'
-
-
- #rm -rf 删除这些文件夹
- rm -rf /var/lib/docker
- rm -rf /var/lib/containerd
适用于:在线安装:适用于学习,测试,有外网的机器
- #安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
- yum install -y yum-utils device-mapper-persistent-data lvm2
-
-
- #设置仓库为阿里源
- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 或者
- wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- cp docker-ce.repo /etc/yum.repos.d
-
-
- #更新源
- yum clean all && yum mackecache
-
-
- #检查版本
- yum list docker-ce --showduplicates | sort -r
- yum list docker-ce-cli --showduplicates | sort -r
-
-
- #注意overlay2可能需要升级内核,它需要内核4.0以上支持:https://blog.51cto.com/daibaiyang119/2160923
- #默认安装
- yum install docker-ce docker-ce-cli containerd.io
-
-
- #指定版本
- yum install docker-ce-20.10.9-3.el7 \
- docker-ce-cli-20.10.9-3.el7 \
- containerd.io
-
-
- #启动和查看
- systemctl start docker
- systemctl status docker
- docker --version
- docker info
适用于生产环境或者内网环境离线安装
Index of linux/centos/7/x86_64/stable/Packages/
导出需要下载的地址,比如下载20版本
需要依赖:
下载依赖后再安装:https://pkgs.org/download/
- rpm -ivh *.rpm
-
-
- #启动和查看
- systemctl start docker
- systemctl status docker
- docker --version
- docker info
二进制安装多用于企业的生产环境,安装也不复杂,生产环境可用此环境
Install Docker Engine from binaries | Docker Documentation
Post-installation steps for Linux | Docker Documentation
- sudo groupadd docker
- sudo usermod -aG docker $USER
- sudo newgrp docker
https://download.docker.com/linux/static/stable/x86_64/
版本:18.06-3
https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz
- #下载相关的安装包,上传至/home目录
- cd /home
- wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz
-
-
- #解压安装包
- tar -zxvf docker-18.06.3-ce.tgz
- cd /home/docker
-
-
- #复制命令到相关目录
- cp docker* /usr/bin
- cp docker* /usr/local/bin
- #先在/data创建docker目录
- mkdir /data/docker
-
-
- 方法1:使用命令/usr/bin/dockerd -g /自己想设置的目录
- /usr/bin/dockerd -g /data/docker
- #--设置到/data/docker目录
-
-
- 方法2:在服务启动时,加上参数,使其自动运行到自己相应的目录
- ExecStart=/usr/bin/dockerd -g /data/docker
- 或者ExecStart=/usr/bin/dockerd --data-root=/data/docker
- #这个参数下面开机自启添加
添加一个daemon.json文件,添加一个镜像获取地址或者加速地址,添加私有harbor也是这里添加,后面会提到
相关参考:https://www.cnblogs.com/bulh/articles/12523099.html
- vi /etc/docker/daemon.json
- {
- "registry-mirrors": ["https://hub.dockerhub.docker.com"]
- }
-
添加一个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
创建一个在/usr/lib/systemd/system/docker.service的文件
复制参数docker.service里面:
vi /usr/lib/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 -H unix://var/run/docker.sock -H tcp://0.0.0.0:2375 --data-root=/data/docker
- ExecReload=/bin/kill -s HUP $MAINPID
- TimeoutSec=0
- RestartSec=2
- Restart=always
- StartLimitBurst=3
- StartLimitInterval=60s
- LimitNOFILE=infinity
- LimitNPROC=infinity
- LimitCORE=infinity
- TasksMax=infinity
- Delegate=yes
- KillMode=process
-
-
- [Install]
- WantedBy=multi-user.target
赋予权限和重启服务:
- chmod +x /usr/lib/systemd/system/docker.service
- 重启服务:
- systemctl daemon-reload
- systemctl restart docker
- systemctl enable docker.service
参考:Docker笔记7:Docker 命令自动补齐 - morgan363 - 博客园
- #安装补全工具
- yum -y install bash-completion
-
-
- #查看补全目录是否存在docker相关
- ls /usr/share/bash-completion/completions/docker*
-
-
- #复制docker文件进去
- 由于是二进制安装,需要复制补全的文件进去,需要符合版本号
- 推荐去github上下载或者手动安装一个相同版本的机器上复制文件
- cd /usr/share/bash-completion/completions
- wget https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker
- #mv 改名下载文件名为docker
-
-
- #使其生效
- source /usr/share/bash-completion/bash_completion
- source /usr/share/bash-completion/completions/docker
修改启动服务的配置文件,添加地址
- vim /usr/lib/systemd/system/docker.service
- ExecStart= --graph /app/software --insecure-registry=hub.docker.com
-
-
在daemon.json配合地址,如果是企业自建harbor,建议把registry-mirrors和insecure-registries都设置成私有harbor地址
- vim /etc/docker/daemon.json
-
-
- {
- "registry-mirrors": ["https://hub.docker.com"]
- ,"insecure-registries": ["https://hub.docker.com"]
- }
使用docker login 登录,输入账号密码测试验证
- docker container update --restart=always 容器名字
- #更新所有容器随服务启动
- docker container update --restart always $(docker ps -a -q)
作者:CSDN-麻辣香锅777
出处: https://blog.csdn.net/SUBSEA123/
CSDN主页: https://blog.csdn.net/SUBSEA123/
博客园主页: https://www.cnblogs.com/subsea/
简介:都是分享的自己学习的感悟,欢迎讨论,CSDN和博客园都是本人账号原创文章,平时会不定期更新博文,喜欢的点个赞吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。