美文网首页
Docker安装

Docker安装

作者: jan29 | 来源:发表于2020-08-15 08:52 被阅读0次

以下内容转载于Breeze
原博客地址:https://www.cnblogs.com/breezey/

二、Docker安装

1、Docker版本介绍

  • docker-io:docker早期版本,支持到1.13,在centos 6.x系统上只能使用docker-io
  • docker-ce:当前docker发行版本 从17.03 运行在centos7以上,或者Ubuntu以上
  • docker-ee:docker商业版本

2、Ubuntu安装docker-ce

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
apt-cache madison docker-ce
docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
sudo apt-get -y install docker-ce=[VERSION]

3、CentOS7安装docker-ce

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
vim /etc/yum.repos.d/docker-ce.repo
#   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
yum list docker-ce.x86_64 --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: branch, fastestmirror, langpacks
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
Available Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
sudo yum -y install docker-ce-[VERSION]

4、docker配置文件说明

在docker-ce中,已废弃/etc/sysconfig/docker这种配置方式,转而采用/etc/docker/daemon.json来配置

下面简单列一下daemon.json的配置项与说明:

 {
 "api-cors-header": "", 
 "authorization-plugins": [],
 "bip": "",
 "bridge": "",
 "cgroup-parent": "",
 "cluster-store": "",
 "cluster-store-opts": {},
 "cluster-advertise": "",
 #启用debug的模式,启用后,可以看到很多的启动信息。默认 false
 "debug": true, 
 "default-gateway": "",
 "default-gateway-v6": "",
 "default-runtime": "runc",
 "default-ulimits": {},
 "disable-legacy-registry": false,
 #容器DNS的地址,在容器的/etc/resolv.conf 文件中可查看
 "dns": ["192.168.80.1"], 
 "dns-opts": [],
 "dns-search": [],
 "exec-opts": [],
 "exec-root": "",
 "fixed-cidr": "",
 "fixed-cidr-v6": "",
 #已废弃,使用data-root代替
 "graph": "/var/lib/docker", 
 #Docker运行时使用的根路径,根路径下的内容稍后介绍,默认/var/lib/docker
 "data-root": "/var/lib/docker", 
 "group": "", #Unix套接字的属组,仅指/var/run/docker.sock 
 "hosts": [], #设置容器hosts
 "icc": false,
 "insecure-registries": [],
 "ip": "0.0.0.0",
 "iptables": false,
 "ipv6": false,
 "ip-forward": false,
 "ip-masq": false,
 "labels": ["nodeName=node-121"],
 "live-restore": true,
 "log-driver": "",
 "log-level": "",
 "log-opts": {
    "max-file": "5",
    "max-size": "50m"
 },
 "max-concurrent-downloads": 3,
 "max-concurrent-uploads": 5,
 "mtu": 0,
 "oom-score-adjust": -500,
 "pidfile": "", #Docker守护进程的PID文件
 "raw-logs": false,
 "registry-mirrors": ["xxxx"], #镜像加速的地址,增加后在 docker info 中可查看。
 "runtimes": {
 "runc": {
 "path": "runc"
 },
 "custom": {
 "path": "/usr/local/bin/my-runc-replacement",
 "runtimeArgs": [
 "--debug"
 ]
 }
 },
 "selinux-enabled": false, #参考:Docker的启动参数
 "storage-driver": "overlay2",
 "storage-opts": [],
 "swarm-default-advertise-addr": "",
 "tls": true, #参考:Docker的启动参数
 "tlscacert": "", #参考:Docker的启动参数
 "tlscert": "", #参考:Docker的启动参数
 "tlskey": "", #参考:Docker的启动参数
 "tlsverify": true, #参考:Docker的启动参数
 "userland-proxy": false,
 "userns-remap": ""
 }

5、docker systemd启动说明

systemd配置文件示例:

# /lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket

[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://
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# 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
# 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
# 解决目录被其它的容器挂载使用,导致已经退出的容器无法被删除的问题
MountFlags=slave

[Install]
WantedBy=multi-user.target

启动docker:

systemctl start docker
systemctl enable docker

相关文章

网友评论

      本文标题:Docker安装

      本文链接:https://www.haomeiwen.com/subject/hbigdktx.html