虚拟机信息(devops-docker):
IP:192.168.133.201
OS:CentOS Linux release 7.5.1804 (Core)
在CentOS中安装Docker 需要满足以下几个条件:
-
CPU 必须为64位;
-
Linux 内核必须在 3.10版本以上。可以使用 uname - a 命令获取以上信息;
-
确保 yum 包更新到最新 yum update。
修改主机名:
# hostnamectl set-hostname docker
安装方法:
1、阿里云安装脚本(未采用):
# curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
2、手动安装:
2.1、升级系统内核:
1)查看目前系统内核版本:
# uname -msr
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315085655137-824917622.png)
# cat /etc/redhat-release
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315085711051-701233867.png)
# cat /etc/os-release
2)升级centos7软件包版本:
# yum -y update
# yum -y install yum-plugin-fastestmirror
3)增加elrepo repository:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315085742440-2144352869.png)
4)升级kernel:
# yum repolist
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available //列出可用的 kernel.related包
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090145570-2053962827.png)
# yum --enablerepo=elrepo-kernel install kernel-ml -y //安装最后的稳定版本的kernel
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090250352-1851408991.png)
# init 6 //重启选择最新版本的kernel
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090315990-1474544887.png)
查看升级后的系统信息:
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090332791-992059741.png)
5)在grub中设置默认的kernel版本:
# cp /etc/default/grub{,.bak}
# vim /etc/default/grub
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090405629-143148452.png)
# grub2-mkconfig -o /boot/grub2/grub.cfg //重新创建kernel配置信息
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090432739-652935644.png)
# init 6
2.2、添加内核参数:
# tee -a /etc/sysctl.conf <<-EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
# sysctl -p //加载生效新增内核参数
2.3、添加yum源:
# cd /etc/yum.repos.d/
# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum repolist
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090716770-1734107148.png)
2.4、安装docker-ce:
# yum --disablerepo="*" --enablerepo="docker-ce-stable" list available //查看docker-ce版本
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090758780-964122516.png)
# yum install docker-ce -y
2.5、启动docker:
# systemctl enable docker //加入开机启动项
# systemctl start docker
# systemctl status docker
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315090907038-2108299734.png)
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315091035640-1918535672.png)
2.6、建立docker用户组:
默认情况下,docker命令会使用 Unix socket 与docker引擎通讯。而只有root用户和docker组的用户才可以访问docker引擎的 Unix socket。出于安全考虑,一般linux系统上不会直接使用root用户。因此,更好地做法是将需要使用docker的用户加入docker用户组。
1)建立docker用户组:
# groupadd docker //安装docker时,默认添加了docker用户组
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315091043163-1528617772.png)
2)将需要的用户加入docker用户组:
# usermod -aG docker $USER //$USER:当前用户
3、配置镜像加速(阿里云):
因为国内无法访问dockerhub 点我获取阿里云加速地址
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315091110506-1554184328.png)
在阿里云开通容器镜像服务拿到加速地址在执行以下命令:
方法一:
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315091135724-2127710726.png)
或者添加加速地址为:https://registry.docker-cn.com
方法二(本次采用该方法):
对于使用 systemd 的系统,用 systemctl enable docker 启动服务后,可编辑 /etc/systemd/system/multi-user.target.wants/docker.service 文件,找到 ExecStart= 这一行,在这行最后添加加速器地址 --registry-mirror=<加速器地址>,如:
ExecStart=/usr/bin/dockerd --registry-mirror=https://registry.docker-cn.com
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315091219268-1143043301.png)
# systemctl daemon-reload
# systemctl restart docker
![](https://img2018.cnblogs.com/blog/1375026/201903/1375026-20190315091238615-609174810.png)
docker初识:
# docker info
# docker network ls //查看docker创建的网络
# docker network inspect bridge //查看bridge 网络的配置信息
# yum provides */brctl //查看brctl对应的yum包
# brctl show
# docker search nginx
# docker image pull nginx
# docker image ls
# docker ps -a ---> # docker container ls -a
# docker run --name busybox -it busybox
# docker inspect busybox
# docker start -ai busybox //交互启动container
# docker exec -it busybox /bin/bash //进入容器
# docker exec --help
# docker cp <containername/id>:/src/file /des //从容器复制文件到宿主机