服务器版本:CentOS Linux release 7.6.1810 (Core)
Docker版本:18.06.1-ce
tgz包下载官网:https://download.docker.com/linux/static/stable/x86_64/
一、准备工作
1.上传软件包到服务器/usr/local/software路径(路径可自定义) 2.关闭防火墙,关闭selinux
临时并永久关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
临时并永久关闭selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
二、安装
1. 卸载旧的docker版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
删除安装包:
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
2.解压,启动,注册服务
解压
cd /usr/local/software
tar -zxvf docker-18.06.1-ce.tgz
cp docker/* /usr/bin/
注册成系统服务器
vim /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
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
启动docker,并设置为开机自启动
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker
systemctl enable docker
systemctl status docker
查看docker版本
docker --version
3.修改docker默认存储镜像位置
1.新建/var/lib/dockerRegistry
mkdir -p /var/lib/dockerRegistry
2.查看docker信息
docker info
Docker默认的镜像和容器存储位置在 /var/lib/docker中
3.查看服务配置文件位置
[root@k8snode1 ~]# systemctl show --property=FragmentPath docker
FragmentPath=/etc/systemd/system/docker.service
4.修改FragmentPath对应的docker.service文件
vim /etc/systemd/system/docker.service
在ExecStart=/usr/bin/dockerd 添加 --graph=/var/lib/dockerRegistry
5.重载配置文件
systemctl daemon-reload
6.重启docker
systemctl restart docker.service
7.查看docker信息
docker info
三、配置镜像源
vim /etc/docker/daemon.json
添加以下内容
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
# 重新加载某个服务的配置文件
systemctl daemon-reload
# 重新启动 docker
systemctl restart docker
常用命令
https://blog.51cto.com/u_15418847/4770659
参考
https://www.cnblogs.com/mrhelloworld/p/docker3.html