docker系列二之yum安装

基础材料

CentOS7.6 minimal  关闭selinux 关闭swap分区 关闭NetworkManager 关闭firewalld

Docker-ce 18.09.0

安装docker

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

[root@localhost ~]# yum install -y docker-ce

安装过程中主要做了以下几件事:

在/usr/bin/下生成docker可执行文件(docker、dockerd、containerd、runc等)

在/usr/lib/systemd/system下生成docker.service服务配置文件、docker.socket接口属性文件、containerd.service服务配置文件

在/etc/group中添加docker用户组

在/etc/containerd/下创建了config.toml文件

在/etc/docker下创建了key.json文件

在/etc/alternatives/下生成dockerd软链接文件(实际上是/usr/bin/dockerd软链接到/etc/alternatives/dockerd,再由/etc/alternatives/dockerd链接回/usr/bin/docker-ce)

[root@localhost ~]# mkdir /docker

[root@localhost ~]# sed -i 's/ExecStart\=\/usr\/bin\/dockerd -H unix:\/\//ExecStart\=\/usr\/bin\/dockerd -H unix:\/\/ --data-root=\/docker --log-level=warn/g' /usr/lib/systemd/system/docker.service

说明:由于docker默认使用的日志等级为info、默认的镜像及其相关信息生成在/var/lib/docker下,所以用以上两条命令将日志等级改为warn、将镜像及其相关信息生成的路径指定到/docker下

[root@localhost ~]# mkdir /etc/docker

[root@localhost ~]# cat>/etc/docker/docker-daemon.json<<EOF
{
    "registry-mirrors": ["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],
    "max-concurrent-downloads": 20
}
EOF

说明:由于docker参数--config-file的默认值为/etc/docker/docker-daemon.json,所以我们直接创建并修改registry-mirrors为国内加速站点,并且将最大并发下载数由5提高20

[root@localhost ~]# yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp

[root@localhost ~]# modprobe br_netfilter

[root@localhost ~]# modprobe ip_vs

下载相关依赖包并加载br_netfilter和ip_vs模块

[root@localhost ~]# cat>>/etc/sysctl.d/99-sysctl.conf<<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
net.ipv6.conf.all.disable_ipv6=1
EOF

[root@localhost ~]# sysctl -p

修改相应内核参数,并使之生效

[root@localhost ~]# iptables -P FORWARD ACCEPT

[root@localhost ~]# echo '/sbin/iptables -P FORWARD ACCEPT'>>/etc/rc.local

由于Docker默认将iptables的Chain FORWARD设置为drop,我们将其改为accept,允许其转发

[root@localhost ~]# systemctl daemon-reload && systemctl enable docker && systemctl restart docker

[root@localhost ~]# systemctl status docker

启动并查看Docker服务是否正常

[root@localhost ~]# journalctl -u docker

查看docker日志,会有一些关于文件系统的告警,由于centos7下使用的是overlay2存储驱动,其他存储的驱动的告警可以忽略

待docker启动完成后:

1、我们会发现在/docker目录下docker已经创建了一些文件,docker所有的images层及container都在该目录下

2、在/run目录会有相关运行时文件生成,此处docker.sock的属组为docker,如果安装时不创建docker组时,此处属组为root,主要运行时文件都存放在docker文件夹下

3、生成默认的docker0网桥 

[root@localhost ~]# docker pull centos

[root@localhost ~]# docker images

[root@localhost ~]# docker run -it -d centos /bin/bash

[root@localhost ~]# docker ps

下载一个centos的image并启动

以上便完成了docker yum的安装,docker默认安装最新版,如果要指定版本,则使用如下命令查找可供下载的版本

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r

选择安装18.03.1.ce的版本执行如下命令

[root@localhost ~]# yum install docker-ce-18.03.1.ce -y

相对于yum安装,官方也提供了安装脚本,执行如下命令也可以完成docker安装

[root@localhost ~]# curl -fsSL 'https://get.docker.com/'|sh

总结

1.docker日志由systemd管理,使用journalctl -u docker查看

2.通过yum安装的docker可执行文件默认生成在/usr/bin下

3.在/usr/lib/systemd/system下生成docker.service服务配置文件

4.修改了日志默认级别info为warn

5.修改了docker的默认存储路径/var/lib/docker为/docker

6.在/etc/docker/docker-daemon.json下添加了国内镜像站

7.安装相关依赖包并加载了内核模块br_netfilter及ip_vs

8.在/etc/sysctl.d/99-sysctl.conf中修改了一些内核参数

9.将iptables的Chain FORWARD改为accept

10.docker启动后在--data-root指定目录下生成基础文件,在/run下生成运行时文件,创建docker0网桥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值