安装环境
centos 7.0
[root@SZDT-JEST-web home]# uname -a
Linux SZDT-JEST-web 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
官方文档
https://docs.docker.com/install/linux/docker-ce/binaries/
步骤
卸载
卸载老版本,目前docker只有社区CE版和收费的企业版。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
SET UP THE REPOSITORY
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 \
xfsprogs
yum-utils provides the yum-config-manager utility, and device-mapper-persistent-data and lvm2 are required by the devicemapper storage driver.
xfsprogs :在安装后的启动过程中出现错误: INFO[2019-07-23T14:19:10.777101883+08:00] devmapper: Error while creating filesystem xfs on device docker-253:1-201859565-base: exit status 1 ERRO[2019-07-23T14:19:10.777129751+08:00] [graphdriver] prior storage driver devicemapper failed: exit status 1 升级一下xfsprogs
在没有网络的情况下,可以离线安装。 vault.centos.org/7.0.1406/os…
sudo rpm -ivh device-mapper-persistent-data-0.8.5-1.el7.x86_64.rpm
sudo rpm -ivh xfsprogs-3.2.0-0.10.alpha2.el7.x86_64.rpm
下载安装包
安装
tar -xvf docker-18.06.1-ce.tgz
将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp docker/* /usr/bin/
配置
将docker注册为service
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
系统修改
1.修改 /etc/selinux/config 中 SELINUX=disabled
vim /etc/selinux/config
2.添加属性到docker
touch /etc/sysconfig/docker
vim /etc/sysconfig/docker
OPTIONS="--selinux-enabled --log-driver=journald --signature-verification=false"
3.国内镜像
mkdir /etc/docker
touch /etc/docker/daemon.json
vim /etc/docker/daemon.json
4.修改存储路径 三选一
vim /etc/docker/daemon.json
{
"graph": "/home/docker/data"
}
or
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"graph": "/home/docker/data"
}
or
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries":["192.168.3.129:5000"],
"graph": "/home/docker/data"
}
3.6 启动测试
groupadd docker
sudo usermod -aG docker $USER
3.7 其他
systemctl stop docker
开机自启动
systemctl enable docker
查看Docker状态
systemctl status docker
查看Docker版本
docker -v
导入镜像
docker save -o update1.tar update //镜像的导出 update 镜像名字
docker load < update1.tar //镜像的导入
docker load -i update1.tar //镜像的导入
rabbitmq 导入镜像并且启动
docker run -d --name rabbitmq3.7.15 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin233 rabbitmq