【Docker】CentOS7上安装docker

一、环境准备

1台虚拟机,系统为centos7

二、安装 docker 17.09.0-ce

在 Docker17.03.0-ce 版本中,与在 Docker 1.12 中引入的实验版本相比,管理插件 API发生了变化。

在升级到 Docker17.03.0-ce之前,必须卸载使用 Docker 1.12 安装的插件,可通过 docker plugin rm 命令卸载插件。


如果有安装旧版dokcer,先卸载

#  yum  -y remove docker*

#  yum  -y remove  container-selinux 

下载官方Docker YUM源,

在下载页面选择对应的操作系统版本

https://www.docker.com/docker-community

https://docs.docker.com/install/linux/docker-ce/centos

# yum  -y  install yum-utils

#  yum-config-manager \

    --add-repo  \

 https://download.docker.com/linux/centos/docker-ce.repo

# yum makecache fast

#  yum list docker-ce.x86_64  --showduplicates |sort -r

# yum -y  install docker-ce-17.09.0.ce

# systemctl start docker

# systemctl enable docker

# systemctl status docker

三、查看docker的启动参数

我们来稍微了解下17.09.0.ce的启动参数

# cat /usr/lib/systemd/system/docker.service

我们只要配置ExecStart这个对应项,当使用systemctl start docker 的时候执行。

Docker服务端默认不监听任何端口,客户端通过 /var/run/docker.sock连接 docker daemon

详细的配置参数可以使用 dockerd --help 查看

在没有特殊要求的情况下,我们很多启动配置参数是不需要用到,所以我把我自己的配置参数贴出来给大家看下。

########################

[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  \

 --bip=172.18.0.1/16 \

-H tcp://0.0.0.0:5257 \

-H unix:///var/run/docker.sock \

--pidfile=/var/run/docker.pid


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

######################################

--bip                                                    指定桥接地址,即定义一个容器的私有网络 

--H tcp://0.0.0.0:5257                         将docker守护进程指定一个监听端口

--H unix:///var/run/docker.sock           将docker守护进程指定一个sock位置

--pidfile=/var/run/docker.pid               指定docker守护进程pid文件目录

配置好上述的参数时候,我们就可以来启动docker了

# systemctl stop docker

重新加载docker.service文件的配置,否则重启也是启动之前的配置

# systemctl daemon-reload

# systemctl start docker


四、参考

https://www.docker.com/docker-community

https://www.cnblogs.com/Tempted/p/7753221.html

https://docs.docker.com/install/linux/docker-ce/centos

你可能感兴趣的:(【Docker】CentOS7上安装docker)