要求系统为64位、系统内核版本为 3.10 以上。
$uname -a
Linux MiWiFi-R4-srv 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$yum update
$yum install -y yum-utils device-mapper-persistent-data lvm2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
软件包 device-mapper-persistent-data-0.7.3-3.el7.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.180-10.el7_6.8.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 yum-utils.noarch.0.1.1.31-50.el7 将被 安装
--> 正在处理依赖关系 python-kitchen,它被软件包 yum-utils-1.1.31-50.el7.noarch 需要
--> 正在处理依赖关系 libxml2-python,它被软件包 yum-utils-1.1.31-50.el7.noarch 需要
--> 正在检查事务
---> 软件包 libxml2-python.x86_64.0.2.9.1-6.el7_2.3 将被 安装
---> 软件包 python-kitchen.noarch.0.1.1.1-5.el7 将被 安装
--> 正在处理依赖关系 python-chardet,它被软件包 python-kitchen-1.1.1-5.el7.noarch 需要
--> 正在检查事务
---> 软件包 python-chardet.noarch.0.2.2.1-1.el7_1 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
yum-utils noarch 1.1.31-50.el7 base 121 k
为依赖而安装:
libxml2-python x86_64 2.9.1-6.el7_2.3 base 247 k
python-chardet noarch 2.2.1-1.el7_1 base 227 k
python-kitchen noarch 1.1.1-5.el7 base 267 k
事务概要
================================================================================
安装 1 软件包 (+3 依赖软件包)
总下载量:861 k
安装大小:4.3 M
Downloading packages:
(1/4): yum-utils-1.1.31-50.el7.noarch.rpm | 121 kB 00:00
(2/4): python-chardet-2.2.1-1.el7_1.noarch.rpm | 227 kB 00:00
(3/4): python-kitchen-1.1.1-5.el7.noarch.rpm | 267 kB 00:00
(4/4): libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm | 247 kB 00:00
--------------------------------------------------------------------------------
总计 1.9 MB/s | 861 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : python-chardet-2.2.1-1.el7_1.noarch 1/4
正在安装 : python-kitchen-1.1.1-5.el7.noarch 2/4
正在安装 : libxml2-python-2.9.1-6.el7_2.3.x86_64 3/4
正在安装 : yum-utils-1.1.31-50.el7.noarch 4/4
验证中 : libxml2-python-2.9.1-6.el7_2.3.x86_64 1/4
验证中 : python-kitchen-1.1.1-5.el7.noarch 2/4
验证中 : yum-utils-1.1.31-50.el7.noarch 3/4
验证中 : python-chardet-2.2.1-1.el7_1.noarch 4/4
已安装:
yum-utils.noarch 0:1.1.31-50.el7
作为依赖被安装:
libxml2-python.x86_64 0:2.9.1-6.el7_2.3 python-chardet.noarch 0:2.2.1-1.el7_1
python-kitchen.noarch 0:1.1.1-5.el7
完毕!
$yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
$yum makecache fast
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00
docker-ce-stable | 3.5 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
(1/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00
(2/2): docker-ce-stable/x86_64/primary_db | 34 kB 00:00
元数据缓存已建立
$yum -y install docker-ce
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker-ce.x86_64.3.19.03.2-3.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 3:docker-ce-19.03.2-3.el7.x86_64 需要
--> 正在处理依赖关系 containerd.io >= 1.2.2-3,它被软件包 3:docker-ce-19.03.2-3.el7.x86_64 需要
--> 正在处理依赖关系 docker-ce-cli,它被软件包 3:docker-ce-19.03.2-3.el7.x86_64 需要
--> 正在处理依赖关系 libcgroup,它被软件包 3:docker-ce-19.03.2-3.el7.x86_64 需要
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.107-1.el7_6 将被 安装
--> 正在处理依赖关系 policycoreutils-python,它被软件包 2:container-selinux-2.107-1.el7_6.noarch 需要
---> 软件包 containerd.io.x86_64.0.1.2.6-3.3.el7 将被 安装
---> 软件包 docker-ce-cli.x86_64.1.19.03.2-3.el7 将被 安装
---> 软件包 libcgroup.x86_64.0.0.41-20.el7 将被 安装
--> 正在检查事务
---> 软件包 policycoreutils-python.x86_64.0.2.5-29.el7_6.1 将被 安装
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.4-4.el7 将被 安装
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
docker-ce x86_64 3:19.03.2-3.el7 docker-ce-stable 24 M
为依赖而安装:
audit-libs-python x86_64 2.8.4-4.el7 base 76 k
checkpolicy x86_64 2.5-8.el7 base 295 k
container-selinux noarch 2:2.107-1.el7_6 extras 39 k
containerd.io x86_64 1.2.6-3.3.el7 docker-ce-stable 26 M
docker-ce-cli x86_64 1:19.03.2-3.el7 docker-ce-stable 39 M
libcgroup x86_64 0.41-20.el7 base 66 k
libsemanage-python x86_64 2.5-14.el7 base 113 k
policycoreutils-python x86_64 2.5-29.el7_6.1 updates 456 k
python-IPy noarch 0.75-6.el7 base 32 k
setools-libs x86_64 3.3.8-4.el7 base 620 k
事务概要
================================================================================
安装 1 软件包 (+10 依赖软件包)
总下载量:91 M
安装大小:374 M
Downloading packages:
(1/11): container-selinux-2.107-1.el7_6.noarch.rpm | 39 kB 00:00
(2/11): audit-libs-python-2.8.4-4.el7.x86_64.rpm | 76 kB 00:00
(3/11): checkpolicy-2.5-8.el7.x86_64.rpm | 295 kB 00:00
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-19.03.2-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-19.03.2-3.el7.x86_64.rpm 的公钥尚未安装
(4/11): docker-ce-19.03.2-3.el7.x86_64.rpm | 24 MB 00:03
(5/11): libcgroup-0.41-20.el7.x86_64.rpm | 66 kB 00:00
(6/11): python-IPy-0.75-6.el7.noarch.rpm | 32 kB 00:00
(7/11): libsemanage-python-2.5-14.el7.x86_64.rpm | 113 kB 00:00
(8/11): policycoreutils-python-2.5-29.el7_6.1.x86_64.rpm | 456 kB 00:00
(9/11): setools-libs-3.3.8-4.el7.x86_64.rpm | 620 kB 00:00
(10/11): containerd.io-1.2.6-3.3.el7.x86_64.rpm | 26 MB 00:10
(11/11): docker-ce-cli-19.03.2-3.el7.x86_64.rpm | 39 MB 00:06
--------------------------------------------------------------------------------
总计 8.4 MB/s | 91 MB 00:10
从 https://mirrors.aliyun.com/docker-ce/linux/centos/gpg 检索密钥
导入 GPG key 0x621E9F35:
用户ID : "Docker Release (CE rpm) "
指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
来自 : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : libcgroup-0.41-20.el7.x86_64 1/11
正在安装 : setools-libs-3.3.8-4.el7.x86_64 2/11
正在安装 : audit-libs-python-2.8.4-4.el7.x86_64 3/11
正在安装 : python-IPy-0.75-6.el7.noarch 4/11
正在安装 : 1:docker-ce-cli-19.03.2-3.el7.x86_64 5/11
正在安装 : libsemanage-python-2.5-14.el7.x86_64 6/11
正在安装 : checkpolicy-2.5-8.el7.x86_64 7/11
正在安装 : policycoreutils-python-2.5-29.el7_6.1.x86_64 8/11
正在安装 : 2:container-selinux-2.107-1.el7_6.noarch 9/11
正在安装 : containerd.io-1.2.6-3.3.el7.x86_64 10/11
正在安装 : 3:docker-ce-19.03.2-3.el7.x86_64 11/11
验证中 : libcgroup-0.41-20.el7.x86_64 1/11
验证中 : checkpolicy-2.5-8.el7.x86_64 2/11
验证中 : policycoreutils-python-2.5-29.el7_6.1.x86_64 3/11
验证中 : libsemanage-python-2.5-14.el7.x86_64 4/11
验证中 : 2:container-selinux-2.107-1.el7_6.noarch 5/11
验证中 : 1:docker-ce-cli-19.03.2-3.el7.x86_64 6/11
验证中 : python-IPy-0.75-6.el7.noarch 7/11
验证中 : 3:docker-ce-19.03.2-3.el7.x86_64 8/11
验证中 : containerd.io-1.2.6-3.3.el7.x86_64 9/11
验证中 : audit-libs-python-2.8.4-4.el7.x86_64 10/11
验证中 : setools-libs-3.3.8-4.el7.x86_64 11/11
已安装:
docker-ce.x86_64 3:19.03.2-3.el7
作为依赖被安装:
audit-libs-python.x86_64 0:2.8.4-4.el7
checkpolicy.x86_64 0:2.5-8.el7
container-selinux.noarch 2:2.107-1.el7_6
containerd.io.x86_64 0:1.2.6-3.3.el7
docker-ce-cli.x86_64 1:19.03.2-3.el7
libcgroup.x86_64 0:0.41-20.el7
libsemanage-python.x86_64 0:2.5-14.el7
policycoreutils-python.x86_64 0:2.5-29.el7_6.1
python-IPy.noarch 0:0.75-6.el7
setools-libs.x86_64 0:3.3.8-4.el7
完毕
$systemctl start docker
$docker version
Client: Docker Engine - Community
Version: 19.03.2
API version: 1.40
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:28:55 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.2
API version: 1.40 (minimum version 1.12)
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:27:34 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
$mkdir -p /etc/docker
$tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://meab5smg.mirror.aliyuncs.com"]
}
EOF
$systemctl daemon-reload
$systemctl restart docker
$docker search centos
$docker pull centos
$docker image ls
#定义新标签
$docker tag centos centos7
#定义tag
$docker tag centos centos7:0.0.1
#删除
$docker rmi centos7:0.0.1
#把镜像启动为容器
$docker run --privileged -itd -p 88:22 -p 3306:3306 -p 80:80 -p 443:443 --name c7 centos7 /usr/sbin/init
$docker run --privileged -itd -p 3308:3306 --name c7 centos7 /usr/sbin/init
$docker run -itd --name c7 centos7
$docker ps
#进入容器命令行(Ctrl + d退出容器)
$docker exec -it a13h25104n29 bash
#生成镜像
$docker commit -m "install lnmp image" -a "peakchao" a13h25104n29 peakblog
网易云copy一份 CentOS 镜像
$mkdir build
$vi Dockerfile
FROM hub.c.163.com/public/centos:7.2.1511
RUN yum clean all
RUN yum install -y yum-plugin-ovl || true
RUN yum install -y vim tar wget curl rsync bzip2 iptables tcpdump less telnet net-tools lsof sysstat cronie python-setuptools
RUN yum clean all
RUN easy_install supervisor
RUN cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
EXPOSE 22
RUN mkdir -p /etc/supervisor/conf.d/
RUN /usr/bin/echo_supervisord_conf > /etc/supervisord.conf
RUN echo [include] >> /etc/supervisord.conf
RUN echo 'files = /etc/supervisor/conf.d/*.conf' >> /etc/supervisord.conf
COPY sshd.conf /etc/supervisor/conf.d/sshd.conf
CMD ["/usr/bin/supervisord"]
$docker build -t docker-whale .
#登陆镜像仓库
$docker login [email protected] registry.cn-chengdu.aliyuncs.com
#修改仓库tag
$docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/peakchao/docker:[镜像版本号]
#推送到远程仓库
$docker push registry.cn-chengdu.aliyuncs.com/peakchao/docker:[镜像版本号]
#从远程仓库拉取镜像
$docker pull registry.cn-chengdu.aliyuncs.com/peakchao/docker:[镜像版本号]
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$systemctl daemon-reload
$systemctl restart docker.service
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused “process_linux.go:430: container init caused “write /proc/self/attr/keycreate: permission denied””: unknown.
$vi /etc/selinux/config
SELINUX=disabled
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:MJiGJG2ovfIHnsjRA4WFpvPab5/TvjTvaOYyOkPYMrI.
Please contact your system administrator.
Add correct host key in /Users/zhangzhichao/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/zhangzhichao/.ssh/known_hosts:8
ECDSA host key for [192.168.31.55]:88 has changed and you have requested strict checking.
Host key verification failed.
#移除对应密钥
$vi ~/.ssh/known_hosts
#移除旧版本
$yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
#删除docker-ce
$yum remove docker-ce
$rm -rf /var/lib/docker
#查看仓库中docker版本
$yum list docker-ce --showduplicates | sort -r
#安装指定版本
$yum install docker-ce-18.06.3.ce
#重启docker
$systemctl restart docker
#查看镜像
$docker image ls
#启动镜像
$docker run -d -p 8080:8080 a13b21104229
#查看进程
$docker ps -a
#关闭镜像
$docker stop a13b21104229