奶夹 發表於 2018-3-2 20:55:00

Docker容器技术

<h1>Docker介绍</h1>
<h2>什么是容器</h2>
<p>Linux容器是与系统其他部分隔离开的一系列进程,从另一个系统镜像运行,并由该镜像提供支持进程所需的全部文件。</p>
<p>容器镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。</p>
<p>来源:https://www.redhat.com/zh/topics/containers/whats-a-linux-container</p>
<h3>容器就是虚拟化吗?</h3>
<p>虚拟化使得许多操作系统可同时在单个系统上运行。</p>
<p>容器只能共享操作系统内核,将应用进程与系统其他部分,隔离开。</p>
<h2>容器和虚拟化的区别</h2>
<p>linux容器技术,容器虚拟化和kvm虚拟化的区别</p>
<p>kvm虚拟化:需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级(开机启动流程)</p>
<p>容器虚拟化:不需要硬件的支持。不需要模拟硬件,共用宿主机的内核,启动时间秒级(没有开机启动流程)</p>
<p>容器总结:</p>
<p>(1)与宿主机使用同一个内核,性能损耗小;</p>
<p>(2)不需要指令级模拟;</p>
<p>(3)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;</p>
<p>(4)避免了准虚拟化和系统调用替换中的复杂性;</p>
<p>(5)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。</p>
<p><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302170949527-1632146782.png" alt=""></p>
<h1>容器技术的发展过程</h1>
<h2>chroot技术,新建一个子系统</h2>
<p>chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。</p>
<p>参考资料:https://www.ibm.com/developerworks/cn/linux/l-cn-chroot/</p>
<p>使用chroot监狱限制SSH用户访问指定目录和使用指定命令:https://linux.cn/article-8313-1.html</p>
<h2>lxc部署</h2>
<p>Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。</p>
<h3>安装lxc</h3>
<p>需要使用epel源</p>
<p>#安装epel源</p>
<div>
<div class="cnblogs_code">
<pre>yum install epel-release -y</pre>
</div>
</div>
<p>#编译epel源配置文件</p>
<div>
<div class="cnblogs_code">
<pre>vi/etc/yum.repos.d/<span style="color: rgba(0, 0, 0, 1)">epel.repo

name</span>=Extra Packages <span style="color: rgba(0, 0, 255, 1)">for</span> Enterprise Linux <span style="color: rgba(128, 0, 128, 1)">7</span> -<span style="color: rgba(0, 0, 0, 1)"> $basearch
baseurl</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch</span><span style="color: rgba(0, 0, 0, 1)">
#mirrorlist</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.fedoraproject.org/metalink?repo=epel-7&amp;arch=$basearch</span><span style="color: rgba(0, 0, 0, 1)">
failovermethod</span>=<span style="color: rgba(0, 0, 0, 1)">priority
enabled</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
gpgkey</span>=file:<span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)">etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7</span>
<span style="color: rgba(0, 0, 0, 1)">

name</span>=Extra Packages <span style="color: rgba(0, 0, 255, 1)">for</span> Enterprise Linux <span style="color: rgba(128, 0, 128, 1)">7</span> - $basearch -<span style="color: rgba(0, 0, 0, 1)"> Debug
baseurl</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch/debug</span><span style="color: rgba(0, 0, 0, 1)">
#mirrorlist</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.fedoraproject.org/metalink?repo=epel-debug-7&amp;arch=$basearch</span><span style="color: rgba(0, 0, 0, 1)">
failovermethod</span>=<span style="color: rgba(0, 0, 0, 1)">priority
enabled</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
gpgkey</span>=file:<span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)">etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7</span><span style="color: rgba(0, 0, 0, 1)">
gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">


name</span>=Extra Packages <span style="color: rgba(0, 0, 255, 1)">for</span> Enterprise Linux <span style="color: rgba(128, 0, 128, 1)">7</span> - $basearch -<span style="color: rgba(0, 0, 0, 1)"> Source
baseurl</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.tuna.tsinghua.edu.cn/epel/7/SRPMS</span><span style="color: rgba(0, 0, 0, 1)">
#mirrorlist</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.fedoraproject.org/metalink?repo=epel-source-7&amp;arch=$basearch</span><span style="color: rgba(0, 0, 0, 1)">
failovermethod</span>=<span style="color: rgba(0, 0, 0, 1)">priority
enabled</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
gpgkey</span>=file:<span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)">etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7</span><span style="color: rgba(0, 0, 0, 1)">
gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1)">1</span></pre>
</div>
</div>
<p>##安装lxc</p>
<div>
<div class="cnblogs_code">
<pre>yum install lxc-* -<span style="color: rgba(0, 0, 0, 1)">y
yum install libcgroup</span>* -<span style="color: rgba(0, 0, 0, 1)">y
yum install bridge</span>-utils.x86_64 -y</pre>
</div>
<h3>交接网卡</h3>
</div>
<div class="cnblogs_code">
<pre># cat /etc/sysconfig/network-scripts/ifcfg-<span style="color: rgba(0, 0, 0, 1)">eth0
TYPE</span>=<span style="color: rgba(0, 0, 0, 1)">Ethernet
BOOTPROTO</span>=<span style="color: rgba(0, 0, 0, 1)">none
NAME</span>=<span style="color: rgba(0, 0, 0, 1)">eth0
DEVICE</span>=<span style="color: rgba(0, 0, 0, 1)">eth0
ONBOOT</span>=<span style="color: rgba(0, 0, 0, 1)">yes
BRIDGE</span>=<span style="color: rgba(0, 0, 0, 1)">br0

# cat /etc/sysconfig/network-scripts/ifcfg-<span style="color: rgba(0, 0, 0, 1)">br0
TYPE</span>=<span style="color: rgba(0, 0, 0, 1)">Bridge
BOOTPROTO</span>=<span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)">
NAME</span>=<span style="color: rgba(0, 0, 0, 1)">br0
DEVICE</span>=<span style="color: rgba(0, 0, 0, 1)">br0
ONBOOT</span>=<span style="color: rgba(0, 0, 0, 1)">yes
IPADDR</span>=<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span><span style="color: rgba(0, 0, 0, 1)">
NETMASK</span>=<span style="color: rgba(128, 0, 128, 1)">255.255</span>.<span style="color: rgba(128, 0, 128, 1)">255.0</span><span style="color: rgba(0, 0, 0, 1)">
GATEWAY</span>=<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.254</span><span style="color: rgba(0, 0, 0, 1)">
DNS1</span>=<span style="color: rgba(128, 0, 128, 1)">223.5</span>.<span style="color: rgba(128, 0, 128, 1)">5.5</span></pre>
</div>
<h3>修改lxc默认配置</h3>
<div class="cnblogs_code">
<pre>vi /etc/lxc/<span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)">.conf
修改第2行为:lxc.network.link </span>= br0</pre>
</div>
<h3>启动cgroup服务</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">systemctl enable cgconfig.service
systemctl start cgconfig.service</span></pre>
</div>
<h3>创建lxc容器</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">方法1:
lxc</span>-create -t download -n centos7 -- --server mirrors.tuna.tsinghua.edu.cn/lxc-images -d centos -r <span style="color: rgba(128, 0, 128, 1)">7</span> -<span style="color: rgba(0, 0, 0, 1)">a amd64
方法2:
lxc</span>-create -t centos -n test</pre>
</div>
<h3>为容器指定ip和网关</h3>
<div class="cnblogs_code">
<pre>vi /<span style="color: rgba(0, 0, 255, 1)">var</span>/lib/lxc/centos7/<span style="color: rgba(0, 0, 0, 1)">config
lxc.network.name </span>=<span style="color: rgba(0, 0, 0, 1)"> eth0
lxc.network.ipv4 </span>= <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.111</span>/<span style="color: rgba(128, 0, 128, 1)">24</span><span style="color: rgba(0, 0, 0, 1)">
lxc.network.ipv4.gateway </span>= <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.254</span></pre>
</div>
<h3>启动容器</h3>
<div class="cnblogs_code">
<pre>lxc-start -n centos7</pre>
</div>
<h3>lxc实操</h3>
<p>#查看虚拟机</p>
<div class="cnblogs_code">
<pre># lxc-<span style="color: rgba(0, 0, 0, 1)">ls   
centos7</span></pre>
</div>
<p>修改子系统root密码</p>
<div class="cnblogs_code">
<pre># chroot /<span style="color: rgba(0, 0, 255, 1)">var</span>/lib/lxc/centos7/<span style="color: rgba(0, 0, 0, 1)">rootfs passwd   
Changing password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user root.
New password:
BAD PASSWORD: The password </span><span style="color: rgba(0, 0, 255, 1)">is</span> shorter than <span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)"> characters
Retype </span><span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> password:
passwd: all authentication tokens updated successfully.</span></pre>
</div>
<p>启动子系统</p>
<div class="cnblogs_code">
<pre># lxc-start -<span style="color: rgba(0, 0, 0, 1)">n centos7   
systemd </span><span style="color: rgba(128, 0, 128, 1)">219</span> running <span style="color: rgba(0, 0, 255, 1)">in</span> system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +<span style="color: rgba(0, 0, 0, 1)">IDN)
Detected virtualization lxc.
Detected architecture x86</span>-<span style="color: rgba(128, 0, 128, 1)">64</span><span style="color: rgba(0, 0, 0, 1)">.

Welcome to CentOS Linux </span><span style="color: rgba(128, 0, 128, 1)">7</span> (Core)!</pre>
</div>
<p>检测</p>
<div class="cnblogs_code">
<pre># lxc-<span style="color: rgba(0, 0, 0, 1)">checkconfig   
Kernel configuration not found at </span>/proc/<span style="color: rgba(0, 0, 0, 1)">config.gz; searching...
Kernel configuration found at </span>/boot/config-<span style="color: rgba(128, 0, 128, 1)">3.10</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">327</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
</span>--- Namespaces ---<span style="color: rgba(0, 0, 0, 1)">
Namespaces: enabled
Utsname </span><span style="color: rgba(0, 0, 255, 1)">namespace</span><span style="color: rgba(0, 0, 0, 1)">: enabled
Ipc </span><span style="color: rgba(0, 0, 255, 1)">namespace</span><span style="color: rgba(0, 0, 0, 1)">: enabled
Pid </span><span style="color: rgba(0, 0, 255, 1)">namespace</span><span style="color: rgba(0, 0, 0, 1)">: enabled
User </span><span style="color: rgba(0, 0, 255, 1)">namespace</span><span style="color: rgba(0, 0, 0, 1)">: enabled
newuidmap </span><span style="color: rgba(0, 0, 255, 1)">is</span><span style="color: rgba(0, 0, 0, 1)"> not installed
newgidmap </span><span style="color: rgba(0, 0, 255, 1)">is</span><span style="color: rgba(0, 0, 0, 1)"> not installed
Network </span><span style="color: rgba(0, 0, 255, 1)">namespace</span><span style="color: rgba(0, 0, 0, 1)">: enabled
Multiple </span>/dev/<span style="color: rgba(0, 0, 0, 1)">pts instances: enabled

</span>--- Control groups ---<span style="color: rgba(0, 0, 0, 1)">
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

</span>--- Misc ---<span style="color: rgba(0, 0, 0, 1)">
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
Bridges: enabled
Advanced netfilter: enabled
CONFIG_NF_NAT_IPV4: enabled
CONFIG_NF_NAT_IPV6: enabled
CONFIG_IP_NF_TARGET_MASQUERADE: enabled
CONFIG_IP6_NF_TARGET_MASQUERADE: enabled
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled

</span>--- Checkpoint/Restore ---<span style="color: rgba(0, 0, 0, 1)">
checkpoint restore: enabled
CONFIG_FHANDLE: enabled
CONFIG_EVENTFD: enabled
CONFIG_EPOLL: enabled
CONFIG_UNIX_DIAG: enabled
CONFIG_INET_DIAG: enabled
CONFIG_PACKET_DIAG: enabled
CONFIG_NETLINK_DIAG: enabled
File capabilities: enabled

Note : Before booting a </span><span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> kernel, you can check its configuration
usage : CONFIG</span>=/path/to/config /usr/bin/lxc-checkconfig</pre>
</div>
<h1>docker容器</h1>
<p>Docker是通过内核虚拟化技术(namespaces及cgroups cpu、内存、磁盘io等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。</p>
<p>docker的主要目标是"Build,Ship and Run any App,Angwhere",构建,运输,处处运行</p>
<p>构建:做一个docker镜像</p>
<p>运输:docker pull</p>
<p>运行:启动一个容器</p>
<p>每一个容器,他都有自己的文件系统rootfs.</p>
<p>kvm解决了硬件和操作系统之间的依赖</p>
<p>docker解决了软件和操作系统环境之间的依赖,能够让独立服务或应用程序在不同的环境中,得到相同的运行结果。</p>
<p>docker容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。</p>
<h2>Docker的部署</h2>
<div class="cnblogs_code">
<pre>wget -O /etc/yum.repos.d/docker-ce.repo https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo</span>
<span style="color: rgba(0, 0, 0, 1)">
sed </span>-i <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g</span><span style="color: rgba(128, 0, 0, 1)">'</span> /etc/yum.repos.d/docker-<span style="color: rgba(0, 0, 0, 1)">ce.repo

yum install docker</span>-ce -y</pre>
</div>
<h3>docker的主要组成部分</h3>
<p>docker是传统的CS架构分为docker&nbsp;client和docker server,向mysql一样</p>
<p>命令:docker version</p>
<div class="cnblogs_code">
<pre># docker version
Client:
Version:    </span><span style="color: rgba(128, 0, 128, 1)">17.12</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(0, 0, 0, 1)">ce
API version:    </span><span style="color: rgba(128, 0, 128, 1)">1.35</span><span style="color: rgba(0, 0, 0, 1)">
Go version:    go1.</span><span style="color: rgba(128, 0, 128, 1)">9.2</span><span style="color: rgba(0, 0, 0, 1)">
Git commit:    c97c6d6
Built:    Wed Dec </span><span style="color: rgba(128, 0, 128, 1)">27</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">10</span>:<span style="color: rgba(128, 0, 128, 1)">14</span> <span style="color: rgba(128, 0, 128, 1)">2017</span><span style="color: rgba(0, 0, 0, 1)">
OS</span>/Arch:    linux/<span style="color: rgba(0, 0, 0, 1)">amd64

Server:
Engine:
Version:    </span><span style="color: rgba(128, 0, 128, 1)">17.12</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(0, 0, 0, 1)">ce
API version:    </span><span style="color: rgba(128, 0, 128, 1)">1.35</span> (minimum version <span style="color: rgba(128, 0, 128, 1)">1.12</span><span style="color: rgba(0, 0, 0, 1)">)
Go version:    go1.</span><span style="color: rgba(128, 0, 128, 1)">9.2</span><span style="color: rgba(0, 0, 0, 1)">
Git commit:    c97c6d6
Built:    Wed Dec </span><span style="color: rgba(128, 0, 128, 1)">27</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">12</span>:<span style="color: rgba(128, 0, 128, 1)">46</span> <span style="color: rgba(128, 0, 128, 1)">2017</span><span style="color: rgba(0, 0, 0, 1)">
OS</span>/Arch:    linux/<span style="color: rgba(0, 0, 0, 1)">amd64
Experimental:    </span><span style="color: rgba(0, 0, 255, 1)">false</span></pre>
</div>
<h3>设置docker远程执行</h3>
<p>systemd详解:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html</p>
<h4>在linux-node1设置</h4>
<div class="cnblogs_code">
<pre>vim /usr/lib/systemd/system/<span style="color: rgba(0, 0, 0, 1)">docker.service
ExecStart</span>=/usr/bin/dockerd -H unix:<span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)">var/run/docker.sock -H tcp://10.0.0.11:2375</span>
<br>systemctl daemon-<span style="color: rgba(0, 0, 0, 1)">reload
systemctl restart docker.service
<br>ps </span>-ef检查</pre>
</div>
<h4>在linux-node2设置</h4>
<div class="cnblogs_code">
<pre>wget -O /etc/yum.repos.d/docker-ce.repo https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo</span>
<span style="color: rgba(0, 0, 0, 1)">
sed </span>-i <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g</span><span style="color: rgba(128, 0, 0, 1)">'</span> /etc/yum.repos.d/docker-<span style="color: rgba(0, 0, 0, 1)">ce.repo

yum install docker</span>-ce -<span style="color: rgba(0, 0, 0, 1)">y

docker </span>-H <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span> info     <span style="color: rgba(0, 128, 0, 1)">---远程执行 info 展示docker的信息</span></pre>
</div>
<p>docker主要组件有:镜像、容器、仓库</p>
<h4>启动第一个容器</h4>
<p>命令:docker run -d -p 80:80 nginx</p>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker run -d -p <span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)"> nginx
Unable to find image </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">nginx:latest</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> locally
latest: Pulling </span><span style="color: rgba(0, 0, 255, 1)">from</span> library/<span style="color: rgba(0, 0, 0, 1)">nginx
e7bb522d92ff: Pull complete
6edc05228666: Pull complete
cd866a17e81f: Pull complete
Digest: sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d
Status: Downloaded newer image </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> nginx:latest
e1cb110a537622e4a5c885161bca69478adc5d218e6eb4e0307c7fe0c1350012
<span style="color: rgba(255, 102, 0, 1)">#run: 创建并运行一个容器,
</span></span><span style="color: rgba(255, 102, 0, 1)">#-d:放在后台
#-p:端口映射
#80:80:前面是宿主机的,后面是容器的
#nginx:镜像的名字</span></pre>
</div>
<h2>docker的镜像管理</h2>
<h3>搜索镜像</h3>
<p>命令:docker search</p>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker search centos
NAME<span style="color: rgba(255, 102, 0, 1)">(镜像名)</span>   DESCRIPTION<span style="color: rgba(255, 102, 0, 1)">(说明)</span>             STARS<span style="color: rgba(255, 102, 0, 1)">(送心数)</span>OFFICIAL<span style="color: rgba(255, 102, 0, 1)">(是否是官方的)</span>    AUTOMATED<span style="color: rgba(255, 102, 0, 1)">(是否自动)</span>
centos             The official build of CentOS.   </span><span style="color: rgba(128, 0, 128, 1)">3992</span>               </pre>
</div>
<h3>获取镜像</h3>
<p>命令:docker pull</p>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker pull centos   <span style="color: rgba(0, 128, 0, 1)"> ---</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 128, 0, 1)"> 拉取一个镜像centos(不指定版本默认为最新版,只写名字默认在官方拉取)</span>
Using </span><span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)"> tag: latest
latest: Pulling </span><span style="color: rgba(0, 0, 255, 1)">from</span> library/<span style="color: rgba(0, 0, 0, 1)">centos
af4b0a2388c6: Pull complete
Digest: sha256:2671f7a3eea36ce43609e9fe7435ade83094291055f1c96d9d1d1d7c0b986a5d
Status: Downloaded newer image </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> centos:latest
# docker images
REPOSITORY          TAG               IMAGE ID            CREATED             SIZE
centos            latest            ff426288ea90      </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)"> weeks ago         207MB
nginx               latest            3f8a4339aadd      </span><span style="color: rgba(128, 0, 128, 1)">5</span> weeks ago         108MB</pre>
</div>
<p>拉取非官网的镜像:</p>
<p><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302191022981-394457539.png" alt=""></p>
<p><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302191107875-321530900.png" alt=""></p>
<p><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302191122762-1878215836.png" alt=""></p>
<p><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302191153498-1632356332.png" alt=""></p>
<div class="cnblogs_code">
<pre># docker pull index.tenxcloud.com/tenxcloud/httpd:<span style="color: rgba(128, 0, 128, 1)">2.4</span>
<span style="color: rgba(128, 0, 128, 1)">2.4</span>: Pulling <span style="color: rgba(0, 0, 255, 1)">from</span> tenxcloud/<span style="color: rgba(0, 0, 0, 1)">httpd
8b87079b7a06: Downloading</span><span style="color: rgba(128, 0, 128, 1)">11</span>.53MB/<span style="color: rgba(128, 0, 128, 1)">51</span><span style="color: rgba(0, 0, 0, 1)">.36MB
a3ed95caeb02: Download complete
0c30bf087cf7: Download complete
79f2be53847c: Downloading</span><span style="color: rgba(128, 0, 128, 1)">11</span>.14MB/<span style="color: rgba(128, 0, 128, 1)">11</span><span style="color: rgba(0, 0, 0, 1)">.7MB
7063c4b35837: Download complete
5c27df81ae71: Download complete</span></pre>
</div>
<h3>镜像加速</h3>
<p>镜像加速器:阿里云加速器,daocloud加速器,中科大加速器,Docker 中国官方镜像加速:https://registry.docker-cn.com</p>
<p>镜像加速配置:</p>
<div class="cnblogs_code">
<pre>vi /etc/docker/<span style="color: rgba(0, 0, 0, 1)">daemon.json
{
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">registry-mirrors</span><span style="color: rgba(128, 0, 0, 1)">"</span>: [<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://registry.docker-cn.com</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">]
}    </span></pre>
</div>
<h3>第三方docker镜像仓库,使用方法</h3>
<div class="cnblogs_code">
<pre>docker pull index.tenxcloud.com/tenxcloud/httpd:latest</pre>
</div>
<h3>镜像操作</h3>
<h4>查看镜像&nbsp;</h4>
<div class="cnblogs_code">
<pre>docker images</pre>
</div>
<h4>删除镜像</h4>
<div class="cnblogs_code">
<pre>docker rmi<span style="color: rgba(0, 128, 0, 1)">例子:docker image rm centos:latest</span></pre>
</div>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker image rm centos:latest <span style="color: rgba(0, 128, 0, 1)">(名字:版本)</span>
Untagged: centos:latest
Untagged: centos@sha256:2671f7a3eea36ce43609e9fe7435ade83094291055f1c96d9d1d1d7c0b986a5d
Deleted: sha256:ff426288ea903fcf8d91aca97460c613348f7a27195606b45f19ae91776ca23d
Deleted: sha256:e15afa4858b655f8a5da4c4a41e05b908229f6fab8543434db79207478511ff7
# docker images
REPOSITORY          TAG               IMAGE ID            CREATED             SIZE
nginx               latest            3f8a4339aadd      </span><span style="color: rgba(128, 0, 128, 1)">5</span> weeks ago         108MB</pre>
</div>
<h4>导出镜像</h4>
<div class="cnblogs_code">
<pre>docker save<span style="color: rgba(0, 128, 0, 1)">例子:docker image save centos &gt; docker-centos7.4.tar.gz</span></pre>
</div>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker image save centos &gt; docker-centos7.<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">.tar.gz
# ls docker-centos7.<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">.tar.gz
docker</span>-centos7.<span style="color: rgba(128, 0, 128, 1)">4</span>.tar.gz</pre>
</div>
<h4>导入镜像</h4>
<div class="cnblogs_code">
<pre>docker load<span style="color: rgba(0, 128, 0, 1)">例子:docker image load -i docker-centos7.4.tar.gz</span></pre>
</div>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker image load -i docker-centos7.<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">.tar.gz
e15afa4858b6: Loading layer</span><span style="color: rgba(128, 0, 128, 1)">215</span>.8MB/<span style="color: rgba(128, 0, 128, 1)">215</span><span style="color: rgba(0, 0, 0, 1)">.8MB
Loaded image: centos:latest
# docker images
REPOSITORY          TAG               IMAGE ID            CREATED             SIZE
centos            latest            ff426288ea90      </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)"> weeks ago         207MB
nginx               latest            3f8a4339aadd      </span><span style="color: rgba(128, 0, 128, 1)">5</span> weeks ago         108MB</pre>
</div>
<h4>查看镜像详细信息</h4>
<div class="cnblogs_code"><img id="code_img_closed_6c9cf415-b929-45c7-a505-f7a88bea194c" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_6c9cf415-b929-45c7-a505-f7a88bea194c" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="">
<div id="cnblogs_code_open_6c9cf415-b929-45c7-a505-f7a88bea194c" class="cnblogs_code_hide">
<pre># docker image inspect centos
[
    {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Id</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">sha256:ff426288ea903fcf8d91aca97460c613348f7a27195606b45f19ae91776ca23d</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">RepoTags</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">centos:latest</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      ],
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">RepoDigests</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Parent</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Comment</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Created</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2018-01-08T19:58:27.63047329Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Container</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">dd31c81a4b47b90a14cf6d1c7389465060e390f12a0b71189d181a0458d8443f</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ContainerConfig</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Hostname</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">dd31c81a4b47</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Domainname</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">User</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStdin</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStdout</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStderr</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Tty</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OpenStdin</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">StdinOnce</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Env</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Cmd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/bin/sh</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">-c</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">#(nop) </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CMD [\"/bin/bash\"]</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ArgsEscaped</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Image</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">sha256:5a28642a68c5af8083107fca9ffbc025179211209961eae9b1f40f928331fa90</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Volumes</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">WorkingDir</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Entrypoint</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OnBuild</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Labels</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">build-date</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">20180107</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">license</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GPLv2</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CentOS Base Image</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">vendor</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CentOS</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            }
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DockerVersion</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">17.06.2-ce</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Author</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Config</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Hostname</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Domainname</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">User</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStdin</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStdout</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStderr</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Tty</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OpenStdin</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">StdinOnce</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Env</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Cmd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/bin/bash</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ArgsEscaped</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Image</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">sha256:5a28642a68c5af8083107fca9ffbc025179211209961eae9b1f40f928331fa90</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Volumes</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">WorkingDir</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Entrypoint</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OnBuild</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Labels</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">build-date</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">20180107</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">license</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GPLv2</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CentOS Base Image</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">vendor</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CentOS</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            }
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Architecture</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">amd64</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Os</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">linux</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Size</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">207191530</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">VirtualSize</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">207191530</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GraphDriver</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Data</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceId</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">10</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceName</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">docker-8:2-667845-6de21ff18b07a4a121111b78d105af3ae3d1eccf0d5bcf3dff957e3640a79dac</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceSize</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">10737418240</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">devicemapper</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">RootFS</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Type</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layers</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Layers</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">sha256:e15afa4858b655f8a5da4c4a41e05b908229f6fab8543434db79207478511ff7</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ]
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Metadata</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">LastTagTime</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">0001-01-01T00:00:00Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      }
    }
]</span></pre>
</div>
<span class="cnblogs_code_collapse">查看镜像详细信息</span></div>
<h2>Docker的容器管理</h2>
<h3>启动一个容器</h3>
<div class="cnblogs_code">
<pre>docker run -d -p <span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span> nginx</pre>
</div>
<p>查看启动的容器(两种方法):</p>
<div class="cnblogs_code">
<pre># docker ps
CONTAINER ID      IMAGE               COMMAND                  CREATED             STATUS            PORTS                NAMES
75516b38df19      nginx               </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx -g 'daemon of…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago         Up <span style="color: rgba(128, 0, 128, 1)">3</span> hours          <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>-&gt;<span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">tcp   inspiring_euler

# docker container ls
CONTAINER ID      IMAGE               COMMAND                  CREATED             STATUS            PORTS                NAMES
75516b38df19      nginx               </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx -g 'daemon of…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago         Up <span style="color: rgba(128, 0, 128, 1)">3</span> hours          <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>-&gt;<span style="color: rgba(128, 0, 128, 1)">80</span>/tcp   inspiring_euler</pre>
</div>
<h3>显示所有状态的容器</h3>
<div class="cnblogs_code">
<pre># docker ps -<span style="color: rgba(0, 0, 0, 1)">a
CONTAINER ID      IMAGE               COMMAND                  CREATED             STATUS                   PORTS                NAMES
75516b38df19      nginx               </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx -g 'daemon of…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago         Up <span style="color: rgba(128, 0, 128, 1)">3</span> hours               <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>-&gt;<span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">tcp   inspiring_euler
e1cb110a5376      nginx               </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx -g 'daemon of…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago         Exited (<span style="color: rgba(128, 0, 128, 1)">0</span>) <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago                        thirsty_brattain</pre>
</div>
<p>只显示容器id</p>
<div class="cnblogs_code">
<pre># docker ps -a -<span style="color: rgba(0, 0, 0, 1)">q
7cef098bebc7
75516b38df19</span></pre>
</div>
<h3>查看容器ip</h3>
<p>docker container inspect id或name</p>
<div class="cnblogs_code"><img id="code_img_closed_9f0b1d14-03e1-4c3b-83ce-b125ab322b2e" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_9f0b1d14-03e1-4c3b-83ce-b125ab322b2e" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="">
<div id="cnblogs_code_open_9f0b1d14-03e1-4c3b-83ce-b125ab322b2e" class="cnblogs_code_hide">
<pre># docker container inspect 75516b38df19
[
    {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Id</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">75516b38df194d00fbb2d5ce51316f621f76a1037a0fdf1d578d14498a68d8a3</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Created</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2018-01-31T12:12:06.387035752Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Path</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Args</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">-g</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">daemon off;</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      ],
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">State</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Status</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">running</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Running</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Paused</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Restarting</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OOMKilled</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Dead</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Pid</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">19388</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ExitCode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Error</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">StartedAt</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2018-01-31T12:12:06.710448922Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">FinishedAt</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">0001-01-01T00:00:00Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Image</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">sha256:3f8a4339aadda5897b744682f5f774dc69991a81af8d715d37a616bb4c99edf5</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ResolvConfPath</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/lib/docker/containers/75516b38df194d00fbb2d5ce51316f621f76a1037a0fdf1d578d14498a68d8a3/resolv.conf</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostnamePath</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/lib/docker/containers/75516b38df194d00fbb2d5ce51316f621f76a1037a0fdf1d578d14498a68d8a3/hostname</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostsPath</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/lib/docker/containers/75516b38df194d00fbb2d5ce51316f621f76a1037a0fdf1d578d14498a68d8a3/hosts</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">LogPath</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/lib/docker/containers/75516b38df194d00fbb2d5ce51316f621f76a1037a0fdf1d578d14498a68d8a3/75516b38df194d00fbb2d5ce51316f621f76a1037a0fdf1d578d14498a68d8a3-json.log</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/inspiring_euler</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">RestartCount</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Driver</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">devicemapper</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Platform</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">linux</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MountLabel</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ProcessLabel</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AppArmorProfile</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ExecIDs</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostConfig</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Binds</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ContainerIDFile</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">LogConfig</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Type</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">json-file</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Config</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {}
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NetworkMode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">default</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PortBindings</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">80/tcp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                  {
                        </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostIp</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
                        </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostPort</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">80</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
                  }
                ]
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">RestartPolicy</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">no</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MaximumRetryCount</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AutoRemove</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">VolumeDriver</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">VolumesFrom</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CapAdd</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CapDrop</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Dns</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DnsOptions</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DnsSearch</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ExtraHosts</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GroupAdd</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IpcMode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">shareable</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Cgroup</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Links</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OomScoreAdj</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PidMode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Privileged</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PublishAllPorts</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ReadonlyRootfs</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">SecurityOpt</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">UTSMode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">UsernsMode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ShmSize</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">67108864</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Runtime</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">runc</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ConsoleSize</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Isolation</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuShares</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Memory</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NanoCpus</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CgroupParent</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">BlkioWeight</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">BlkioWeightDevice</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">BlkioDeviceReadBps</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">BlkioDeviceWriteBps</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">BlkioDeviceReadIOps</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">BlkioDeviceWriteIOps</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuPeriod</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuQuota</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuRealtimePeriod</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuRealtimeRuntime</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpusetCpus</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpusetMems</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Devices</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceCgroupRules</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DiskQuota</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">KernelMemory</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MemoryReservation</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MemorySwap</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MemorySwappiness</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OomKillDisable</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PidsLimit</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Ulimits</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuCount</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CpuPercent</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IOMaximumIOps</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IOMaximumBandwidth</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GraphDriver</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Data</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceId</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">8</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceName</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">docker-8:2-667845-d7559a9d1629b837315264d5191776a3583b745cbb270be66f15126659ea266d</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DeviceSize</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">10737418240</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">devicemapper</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Mounts</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [],
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Config</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Hostname</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">75516b38df19</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Domainname</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">User</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStdin</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStdout</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">AttachStderr</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ExposedPorts</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">80/tcp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {}
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Tty</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OpenStdin</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">StdinOnce</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Env</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NGINX_VERSION=1.13.8-1~stretch</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NJS_VERSION=1.13.8.0.1.15-1~stretch</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Cmd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">-g</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">daemon off;</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            ],
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ArgsEscaped</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Image</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Volumes</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">WorkingDir</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Entrypoint</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OnBuild</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Labels</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">maintainer</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NGINX Docker Maintainers &lt;docker-maint@nginx.com&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">StopSignal</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">SIGTERM</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      },
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NetworkSettings</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Bridge</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">SandboxID</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">33eb47f2321af718ee6a7564f8ae8c9841719051efebb2dfdb8a206d19e83004</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HairpinMode</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">LinkLocalIPv6Address</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">LinkLocalIPv6PrefixLen</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Ports</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">80/tcp</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
                  {
                        </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostIp</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">0.0.0.0</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                        </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HostPort</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">80</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
                  }
                ]
            },
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">SandboxKey</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/run/docker/netns/33eb47f2321a</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">SecondaryIPAddresses</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">SecondaryIPv6Addresses</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">EndpointID</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">a4a179b29fb9cda0c6332579460dddc5fbc6e7f29dd5608ae9f5742701d4202e</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Gateway</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GlobalIPv6Address</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GlobalIPv6PrefixLen</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPAddress</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.2</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPPrefixLen</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">16</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPv6Gateway</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MacAddress</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">02:42:ac:11:00:02</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Networks</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">bridge</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPAMConfig</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Links</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Aliases</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NetworkID</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">12e101b4dd9dd0078bab6ed9ce9aaf2d7cca2e00e4a66b5629f088732d6698d0</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">EndpointID</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">a4a179b29fb9cda0c6332579460dddc5fbc6e7f29dd5608ae9f5742701d4202e</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Gateway</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPAddress</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.2</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPPrefixLen</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">16</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">IPv6Gateway</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GlobalIPv6Address</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GlobalIPv6PrefixLen</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">MacAddress</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">02:42:ac:11:00:02</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">DriverOpts</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">
                }
            }
      }
    }
]</span></pre>
</div>
<span class="cnblogs_code_collapse">查看容器</span></div>
<h3>停止容器</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">docker container stop id或name
docker container </span><span style="color: rgba(0, 0, 255, 1)">kill</span> id或name</pre>
</div>
<p>实操:</p>
<div class="cnblogs_code">
<pre># docker container stop 75516b38df19
75516b38df19
# docker container <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
CONTAINER ID      IMAGE               COMMAND             CREATED             STATUS            PORTS               NAMES
# docker <span style="color: rgba(0, 0, 255, 1)">ps</span> -<span style="color: rgba(0, 0, 0, 1)">a
CONTAINER ID      IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
75516b38df19      nginx               </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx -g 'daemon of…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago         Exited (<span style="color: rgba(128, 0, 128, 1)">0</span>) <span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)"> seconds ago                     inspiring_euler
e1cb110a5376      nginx               </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx -g 'daemon of…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago         Exited (<span style="color: rgba(128, 0, 128, 1)">0</span>) <span style="color: rgba(128, 0, 128, 1)">3</span> hours ago                        thirsty_brattain</pre>
</div>
<p>总结:docker容器内的第一个进程必须一直处于前台运行的状态,否则这个容器,就会处于退出状态!</p>
<h3>删除已关闭的容器</h3>
<div class="cnblogs_code">
<pre># docker container <span style="color: rgba(0, 0, 255, 1)">rm</span><span style="color: rgba(0, 0, 0, 1)"> e1cb110a5376
e1cb110a5376</span></pre>
</div>
<p>批量删除:</p>
<p>docker rm -f `docker ps -a -q`&nbsp;&nbsp;&nbsp; -- 强制删除全部,包括启动中的</p>
<div class="cnblogs_code">
<pre># docker <span style="color: rgba(0, 0, 255, 1)">rm</span> `docker <span style="color: rgba(0, 0, 255, 1)">ps</span> -a -<span style="color: rgba(0, 0, 0, 1)">q`    <span style="color: rgba(0, 128, 0, 1)">#只删除关闭状态的</span>
7cef098bebc7
75516b38df19</span></pre>
</div>
<h3>交互式进入容器,分配终端</h3>
<p>docker run -it nginx:latest /bin/bash</p>
<p>-i -t:--interactive --tty(直接进入容器)</p>
<div class="cnblogs_code">
<pre># docker run -it nginx:latest /bin/<span style="color: rgba(0, 0, 0, 1)">bash
root@7cef098bebc7:</span>/# <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
bin   devhomelib64    mntprocrun   srvtmpvar
bootetclib   media    optrootsbinsysusr</span></pre>
</div>
<h4>进入容器的方法</h4>
<div class="cnblogs_code">
<pre># docker run -it --<span style="color: rgba(0, 0, 0, 1)">name erlianzhang centos:latest
#</pre>
</div>
<h4>进入到存活的容器中</h4>
<div class="cnblogs_code">
<pre># docker attach erlianzhang
# </pre>
</div>
<p>exec方式必须指定起始命令 --- 推荐使用exec</p>
<div class="cnblogs_code">
<pre># docker exec -it erlianzhang /bin/<span style="color: rgba(0, 0, 0, 1)">bash
# <span style="color: rgba(0, 0, 255, 1)">ps</span> -<span style="color: rgba(0, 0, 0, 1)">ef
UID         PID   PPIDC STIME TTY          TIME CMD
root          </span><span style="color: rgba(128, 0, 128, 1)">1</span>      <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">14</span> pts/<span style="color: rgba(128, 0, 128, 1)">0</span>    <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span> /bin/<span style="color: rgba(0, 0, 0, 1)">bash
root         </span><span style="color: rgba(128, 0, 128, 1)">13</span>      <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">16</span> pts/<span style="color: rgba(128, 0, 128, 1)">1</span>    <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span> /bin/<span style="color: rgba(0, 0, 0, 1)">bash
root         </span><span style="color: rgba(128, 0, 128, 1)">25</span>   <span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">16</span> pts/<span style="color: rgba(128, 0, 128, 1)">1</span>    <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span> <span style="color: rgba(0, 0, 255, 1)">ps</span> -ef</pre>
</div>
<p>注意:进入容器中第一个命令一定要让容器夯住,否则会变成退出状态</p>
<p>暂时退出容器:ctrl+p,ctrl+q</p>
<p>回到容器:docker attach id或name</p>
<h2>docker容器的网络访问</h2>
<p>指定映射</p>
<div class="cnblogs_code">
<pre>    -<span style="color: rgba(0, 0, 0, 1)">p hostPort:containerPort
    </span>-<span style="color: rgba(0, 0, 0, 1)">p ip:hostPort:containerPort
    </span>-<span style="color: rgba(0, 0, 0, 1)">p ip::containerPort
    </span>-<span style="color: rgba(0, 0, 0, 1)">p hostPort:containerPort:udp
    </span>-p <span style="color: rgba(128, 0, 128, 1)">81</span>:<span style="color: rgba(128, 0, 128, 1)">80</span> –p <span style="color: rgba(128, 0, 128, 1)">443</span>:<span style="color: rgba(128, 0, 128, 1)">443</span></pre>
</div>
<p>随机映射</p>
<div class="cnblogs_code">
<pre>docker run -P</pre>
</div>
<p>实操</p>
<p>docker run -d -p 888:80 nginx:latest</p>
<p>docker run -d -p 10.0.0.11:80:80 nginx:latest</p>
<div class="cnblogs_code">
<pre># docker run -d -p <span style="color: rgba(128, 0, 128, 1)">888</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)"> nginx:latest
1b177e8c6357ed08ddabb745b902a4e577e8c25e154a4b891dfa900b108dd4bd
# netstat -<span style="color: rgba(0, 0, 0, 1)">lntup
Active Internet connections (only servers)
Proto Recv</span>-Q Send-Q Local Address         Foreign Address         State       PID/<span style="color: rgba(0, 0, 0, 1)">Program name   
tcp      </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">22</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:*               LISTEN      <span style="color: rgba(128, 0, 128, 1)">1406</span>/<span style="color: rgba(0, 0, 0, 1)">sshd         
tcp      </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">2375</span>          <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:*               LISTEN      <span style="color: rgba(128, 0, 128, 1)">19206</span>/<span style="color: rgba(0, 0, 0, 1)">dockerd      
tcp6       </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> :::<span style="color: rgba(128, 0, 128, 1)">22</span>                   :::*                  LISTEN      <span style="color: rgba(128, 0, 128, 1)">1406</span>/<span style="color: rgba(0, 0, 0, 1)">sshd         
tcp6       </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> :::<span style="color: rgba(128, 0, 128, 1)">888</span>                  :::*                  LISTEN      <span style="color: rgba(128, 0, 128, 1)">21455</span>/docker-proxy</pre>
</div>
<h2>docker的数据卷管理</h2>
<p>数据卷(文件或目录)</p>
<div class="cnblogs_code">
<pre>    -v /<span style="color: rgba(0, 0, 0, 1)">data
    </span>-v src:dst</pre>
</div>
<p>数据卷容器</p>
<div class="cnblogs_code">
<pre>    --volumes-from</pre>
</div>
<p>实操:挂载数据卷在容器宿主机</p>
<div class="cnblogs_code">
<pre># docker run -d -p <span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span> -v /data:/usr/share/nginx/<span style="color: rgba(0, 0, 0, 1)">html nginx:latest
884b2c093c5c59897bd55b0dcec36c882abdc99134f8fffed4cb5decda17327d</span></pre>
</div>
<p>创建数据卷</p>
<div class="cnblogs_code">
<pre># docker volume <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
DRIVER            VOLUME NAME
local               qingge</span></pre>
</div>
<h2>手动将容器保存为镜像(制作镜像)</h2>
<p>命令:docker commit</p>
<h3>特权容器</h3>
<div class="cnblogs_code">
<pre>docker run --privileged-ti -e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">container=docker</span><span style="color: rgba(128, 0, 0, 1)">"</span>-v /sys/fs/cgroup:/sys/fs/cgroupcentos:latest/usr/sbin/init</pre>
</div>
<h3>保存为镜像</h3>
<div class="cnblogs_code">
<pre># docker commit ebfdf46f9f12 centos6-<span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)">
sha256:b917ca49263af6d4435dc3c144c214af29c56dad7256e4de7978ffd9a7e24f39
# docker images
REPOSITORY          TAG               IMAGE ID            CREATED             SIZE
centos6</span>-<span style="color: rgba(0, 0, 255, 1)">ssh</span>         latest            b917ca49263a      <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)"> seconds ago       315MB
httpd               </span><span style="color: rgba(128, 0, 128, 1)">2.4</span>               2e202f453940      <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)"> days ago          179MB
centos            latest            ff426288ea90      </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)"> weeks ago         207MB
nginx               latest            3f8a4339aadd      </span><span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)"> weeks ago         108MB
centos            </span><span style="color: rgba(128, 0, 128, 1)">6.8</span>               6704d778b3ba      <span style="color: rgba(128, 0, 128, 1)">2</span> months ago      195MB</pre>
</div>
<h2>dockerfile自动构建docker镜像</h2>
<p>dockerfile主要组成部分:</p>
<div class="cnblogs_code">
<pre>    基础镜像信息       FROM:centos:<span style="color: rgba(128, 0, 128, 1)">6.8</span><span style="color: rgba(0, 0, 0, 1)">
    制作镜像操作指令   RUN </span><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> openssh-server -<span style="color: rgba(0, 0, 0, 1)">y
    容器启动时执行指令 CMD [</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/bin/bash</span><span style="color: rgba(128, 0, 0, 1)">"</span>]</pre>
</div>
<p>dockerfile常用指令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">    FROM      <span style="color: rgba(0, 128, 0, 1)">这个镜像的妈妈是谁?(指定基础镜像)</span>
    MAINTAINER <span style="color: rgba(0, 128, 0, 1)"> 告诉别人,谁负责养它?(指定维护者信息,可以没有)</span>
    RUN         <span style="color: rgba(0, 128, 0, 1)">你想让它干啥         (在命令前面加上RUN即可)</span>
    ADD         <span style="color: rgba(0, 128, 0, 1)">给它点创业资金       (COPY文件,会自动解压)</span>
    WORKDIR   <span style="color: rgba(0, 128, 0, 1)">我是cd,今天刚化了妆(设置当前工作目录)</span>
    VOLUME      <span style="color: rgba(0, 128, 0, 1)">给它一个存放行李的地方(设置卷,挂载主机目录)</span>
    EXPOSE      <span style="color: rgba(0, 128, 0, 1)">它要打开的门是啥   (指定对外的端口)</span>
    CMD         <span style="color: rgba(0, 128, 0, 1)">奔跑吧,兄弟!       (指定容器启动后的要干的事情)</span></span></pre>
</div>
<p>dockerfile其他指令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">    COPY             <span style="color: rgba(0, 128, 0, 1)">复制文件</span>
    ENV             <span style="color: rgba(0, 128, 0, 1)"> 环境变量</span>
    ENTRYPOINT       <span style="color: rgba(0, 128, 0, 1)">容器启动后执行的命令</span></span></pre>
</div>
<p>实例:</p>
<p>此处在CMD处执行的是一个脚本,脚本内容大致是开启ssh服务并让ssh服务夯住,参数是-D,开启httpd服务</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">cat</span> /opt/base/<span style="color: rgba(0, 0, 0, 1)">Dockerfile
FROM centos:</span><span style="color: rgba(128, 0, 128, 1)">6.8</span><span style="color: rgba(0, 0, 0, 1)">
RUN </span><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> <span style="color: rgba(0, 0, 255, 1)">wget</span> <span style="color: rgba(0, 0, 255, 1)">unzip</span> php* httpd openssh-server -<span style="color: rgba(0, 0, 0, 1)">y
RUN cd </span>/var/www/html/ &amp;&amp; <span style="color: rgba(0, 0, 255, 1)">wget</span> http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">static.kodcloud.com/update/download/kodexplorer4.25.zip &amp;&amp; unzip kodexplorer4.25.zip </span>
RUN <span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">root:123456</span><span style="color: rgba(128, 0, 0, 1)">'</span>|<span style="color: rgba(0, 0, 0, 1)">chpasswd
RUN </span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ServerName 127.0.0.1:80</span><span style="color: rgba(128, 0, 0, 1)">'</span> &gt;&gt;/etc/httpd/conf/<span style="color: rgba(0, 0, 0, 1)">httpd.conf
RUN </span>/etc/init.d/<span style="color: rgba(0, 0, 0, 1)">sshd start
RUN </span><span style="color: rgba(0, 0, 255, 1)">chmod</span> -Rf <span style="color: rgba(128, 0, 128, 1)">777</span> /var/www/html/<span style="color: rgba(0, 0, 0, 1)">
RUN </span><span style="color: rgba(0, 0, 255, 1)">sed</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s#Options Indexes FollowSymLinks#Options FollowSymLinks#g</span><span style="color: rgba(128, 0, 0, 1)">'</span> /etc/httpd/conf/httpd.conf -<span style="color: rgba(0, 0, 0, 1)">i
COPY init.</span><span style="color: rgba(0, 0, 255, 1)">sh</span> /init.<span style="color: rgba(0, 0, 255, 1)">sh</span><span style="color: rgba(0, 0, 0, 1)">
EXPOSE </span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">tcp
EXPOSE </span><span style="color: rgba(128, 0, 128, 1)">22</span>/<span style="color: rgba(0, 0, 0, 1)">tcp
CMD [</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/bin/bash</span><span style="color: rgba(128, 0, 0, 1)">"</span>,<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/init.sh</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">]
# ll /opt/base/<span style="color: rgba(0, 0, 0, 1)">
total </span><span style="color: rgba(128, 0, 128, 1)">8</span>
-rw-r--r-- <span style="color: rgba(128, 0, 128, 1)">1</span> root root <span style="color: rgba(128, 0, 128, 1)">528</span> Feb<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(128, 0, 128, 1)">06</span>:<span style="color: rgba(128, 0, 128, 1)">16</span><span style="color: rgba(0, 0, 0, 1)"> Dockerfile
</span>-rw-r--r-- <span style="color: rgba(128, 0, 128, 1)">1</span> root root<span style="color: rgba(128, 0, 128, 1)">82</span> Feb<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">37</span> init.<span style="color: rgba(0, 0, 255, 1)">sh</span><span style="color: rgba(0, 0, 0, 1)">
# docker image build -t centos6-yun .</pre>
</div>
<p>docker image build -t centos6-yun /opt/base/Dockerfile</p>
<p>docker image build -t 指定一个自动构建的镜像标签 Dockerfile文件路径</p>
<p>参考其他的dockerfile</p>
<p>官方dockerfile或者时速云镜像广场</p>
<h2>容器间的互联</h2>
<div class="cnblogs_code">
<pre>    docker run -d -p <span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)"> nginx
    docker run </span>-it --link quirky_brown:web01 qstack/centos-<span style="color: rgba(0, 0, 255, 1)">ssh</span> /bin/<span style="color: rgba(0, 0, 0, 1)">bash
    </span><span style="color: rgba(0, 0, 255, 1)">ping</span> web01</pre>
</div>
<p>使用docker运行zabbix-server</p>
<div class="cnblogs_code">
<pre>docker run --name mysql-server -<span style="color: rgba(0, 0, 0, 1)">t \
      </span>-e MYSQL_DATABASE=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_USER=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_PASSWORD=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix_pwd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_ROOT_PASSWORD=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">root_pwd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-d mysql:<span style="color: rgba(128, 0, 128, 1)">5.7</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>--character-set-server=utf8 --collation-server=<span style="color: rgba(0, 0, 0, 1)">utf8_bin

docker run </span>--name zabbix-java-gateway -<span style="color: rgba(0, 0, 0, 1)">t \
      </span>-d zabbix/zabbix-java-<span style="color: rgba(0, 0, 0, 1)">gateway:latest

docker run </span>--name zabbix-server-mysql -<span style="color: rgba(0, 0, 0, 1)">t \
      </span>-e DB_SERVER_HOST=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">mysql-server</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_DATABASE=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_USER=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_PASSWORD=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix_pwd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_ROOT_PASSWORD=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">root_pwd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e ZBX_JAVAGATEWAY=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix-java-gateway</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>--link mysql-<span style="color: rgba(0, 0, 0, 1)">server:mysql \
      </span>--link zabbix-java-gateway:zabbix-java-<span style="color: rgba(0, 0, 0, 1)">gateway \
      </span>-p <span style="color: rgba(128, 0, 128, 1)">10051</span>:<span style="color: rgba(128, 0, 128, 1)">10051</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-d zabbix/zabbix-server-<span style="color: rgba(0, 0, 0, 1)">mysql:latest

docker run </span>--name zabbix-web-nginx-mysql -<span style="color: rgba(0, 0, 0, 1)">t \
      </span>-e DB_SERVER_HOST=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">mysql-server</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_DATABASE=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_USER=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_PASSWORD=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">zabbix_pwd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-e MYSQL_ROOT_PASSWORD=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">root_pwd</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>--link mysql-<span style="color: rgba(0, 0, 0, 1)">server:mysql \
      </span>--link zabbix-server-mysql:zabbix-<span style="color: rgba(0, 0, 0, 1)">server \
      </span>-p <span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)"> \
      </span>-d zabbix/zabbix-web-nginx-mysql:latest</pre>
</div>
<h1>docker私有仓库</h1>
<h2>普通的registry</h2>
<h3>启动registry容器</h3>
<div class="cnblogs_code">
<pre>docker run -d -p <span style="color: rgba(128, 0, 128, 1)">5000</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span> --restart=always --name registry -v /opt/myregistry:/var/lib/registryregistry</pre>
</div>
<h3>修改配置文件</h3>
<p>/etc/docker/daemon.json</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">{
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">registry-mirrors</span><span style="color: rgba(128, 0, 0, 1)">"</span>: [<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://registry.docker-cn.com</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">],
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">insecure-registries</span><span style="color: rgba(128, 0, 0, 1)">"</span>: [<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">10.0.0.11:5000</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">]
}</span></pre>
</div>
<p>"insecure-registries": ["10.0.0.11:5000"]&nbsp;&nbsp; <span style="color: rgba(0, 128, 0, 1)">---- 将https转换成http</span></p>
<h3>重启docker服务</h3>
<div class="cnblogs_code">
<pre>systemctl restart docker.service</pre>
</div>
<h3>为镜像打标签</h3>
<div class="cnblogs_code">
<pre>docker tag centos6-yun:latest <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>/erlianzhang/centos6-yun:latest</pre>
</div>
<h3>push推送镜像</h3>
<div class="cnblogs_code">
<pre>docker push <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>/erlianzhang/centos6-yun:latest</pre>
</div>
<h2>带basic认证的registry</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">mkdir</span> /opt/registry-var/auth/ -<span style="color: rgba(0, 0, 0, 1)">p
htpasswd</span>-Bbn erlianzhang <span style="color: rgba(128, 0, 128, 1)">123456</span>&gt;&gt; /opt/registry-var/auth/<span style="color: rgba(0, 0, 0, 1)">htpasswd
docker run </span>-d -p <span style="color: rgba(128, 0, 128, 1)">5000</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span> -v /opt/registry-var/auth/:/auth/ -e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">REGISTRY_AUTH=htpasswd</span><span style="color: rgba(128, 0, 0, 1)">"</span> -e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm</span><span style="color: rgba(128, 0, 0, 1)">"</span> -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry</pre>
</div>
<h3>实操</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> httpd-tools.x86_64 -<span style="color: rgba(0, 0, 0, 1)">y

# <span style="color: rgba(0, 0, 255, 1)">mkdir</span> /opt/registry-var/auth/ -<span style="color: rgba(0, 0, 0, 1)">p
ASSWD_PATH</span>=/auth/htpasswd registry<br># htpasswd-Bbn erlianzhang <span style="color: rgba(128, 0, 128, 1)">123456</span> &gt;&gt; /opt/registry-var/auth/<span style="color: rgba(0, 0, 0, 1)">htpassw
# docker run -d -p <span style="color: rgba(128, 0, 128, 1)">5000</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span> -v /opt/registry-var/auth/:/auth/ -e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">REGISTRY_AUTH=htpasswd</span><span style="color: rgba(128, 0, 0, 1)">"</span> -e <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm</span><span style="color: rgba(128, 0, 0, 1)">"</span> -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/<span style="color: rgba(0, 0, 0, 1)">htpasswd registry
589820e671fa51114bf9ccf143375bce7351a80f7035e571f4e8524a1096edbb
# docker <span style="color: rgba(0, 0, 255, 1)">ps</span><span style="color: rgba(0, 0, 0, 1)">
CONTAINER ID      IMAGE               COMMAND                  CREATED             STATUS            PORTS                  NAMES
589820e671fa      registry            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/entrypoint.sh /etc…</span><span style="color: rgba(128, 0, 0, 1)">"</span>   <span style="color: rgba(128, 0, 128, 1)">11</span> seconds ago      Up <span style="color: rgba(128, 0, 128, 1)">11</span> seconds       <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>-&gt;<span style="color: rgba(128, 0, 128, 1)">5000</span>/<span style="color: rgba(0, 0, 0, 1)">tcp   confident_visvesvaraya
# docker push <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>/erlianzhang/centos6-yun:latest   <span style="color: rgba(0, 128, 0, 1)">---</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 128, 0, 1)"> 不验证就不能上传</span>
The push refers to repository [</span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>/erlianzhang/centos6-<span style="color: rgba(0, 0, 0, 1)">yun]
f8508dc392c8: Preparing
f85b7909a4bc: Preparing
8b2d1868cde8: Preparing
ad87982f4b1b: Preparing
ac521dbe8cd3: Preparing
3d169f2d5cff: Waiting
6bad9d62f12a: Waiting
f28db075daf0: Waiting
e00c9229b481: Waiting
no basic auth credentials
# docker <span style="color: rgba(0, 0, 255, 1)">login</span> <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>    <span style="color: rgba(0, 128, 0, 1)">---</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 128, 0, 1)"> 验证一下</span>
Username: erlianzhang
Password:
Login Succeeded
# docker push <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>/erlianzhang/centos6-<span style="color: rgba(0, 0, 0, 1)">yun:latest<span style="color: rgba(0, 128, 0, 1)"> --- 再次上传就可以了</span>
The push refers to repository [</span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">5000</span>/erlianzhang/centos6-<span style="color: rgba(0, 0, 0, 1)">yun]
f8508dc392c8: Pushed
f85b7909a4bc: Pushed
8b2d1868cde8: Pushed
ad87982f4b1b: Pushed
ac521dbe8cd3: Pushed
3d169f2d5cff: Pushed
6bad9d62f12a: Pushed
f28db075daf0: Pushed
e00c9229b481: Pushed
latest: digest: sha256:46e0409381ef7c5922bc5c37b5888015ab415c0e7248e463323db361318e93bf size: </span><span style="color: rgba(128, 0, 128, 1)">2205</span></pre>
</div>
<h3>验证</h3>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">cat</span> .docker/<span style="color: rgba(0, 0, 0, 1)">config.json
{
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">auths</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">10.0.0.11:5000</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">auth</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">b2xkYm95OjEyMzQ1Ng==</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      }
    },
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HttpHeaders</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">User-Agent</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Docker-Client/17.12.0-ce (linux)</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    }
}</span></pre>
</div>
<h1>docker-compose(单机版的容器编排工具)</h1>
<h2>docker-compose简介</h2>
<p>一句话:docker-compose是用来做docker的多容器控制</p>
<h3>docker-compose 是什么</h3>
<p>docker-compose是一个用来把docker自动化的东西。</p>
<p>有了docker-compose你可以把所有繁复的docker操作全都一条命令,自动化的完成。</p>
<p>详细指令参考:https://www.jianshu.com/p/2217cfed29d7</p>
<h2>安装python环境</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> -y python2-pip</pre>
</div>
<p>详细指令:http://www.jianshu.com/p/2217cfed29d7</p>
<h2>配置pip加速</h2>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">mkdir</span><span style="color: rgba(0, 0, 0, 1)"> .pip
# vim ~/.pip/<span style="color: rgba(0, 0, 0, 1)">pip.conf

index</span>-url = http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/pypi/simple/</span>
<span style="color: rgba(0, 0, 0, 1)">
[</span><span style="color: rgba(0, 0, 255, 1)">install</span><span style="color: rgba(0, 0, 0, 1)">]
trusted</span>-host=<span style="color: rgba(0, 0, 0, 1)">mirrors.aliyun.com<br></span></pre>
</div>
<div class="cnblogs_code">
<pre>pip <span style="color: rgba(0, 0, 255, 1)">install</span> docker-compose</pre>
</div>
<h2>配置文件</h2>
<p>该配置文件是部署wordpress博客网站的</p>
<div class="cnblogs_code">
<pre>cd my_wordpress/
<span style="color: rgba(0, 0, 255, 1)">vi</span> docker-compose.yml</pre>
</div>
<div class="cnblogs_code">
<pre>version: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">3</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">

services:
   db:
   image: mysql:</span><span style="color: rgba(128, 0, 128, 1)">5.7</span><span style="color: rgba(0, 0, 0, 1)">
   volumes:
       </span>- /data/db_data:/var/lib/<span style="color: rgba(0, 0, 0, 1)">mysql
   restart: always
   environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
   depends_on:
       </span>-<span style="color: rgba(0, 0, 0, 1)"> db
   image: wordpress:latest
   volumes:
       </span>- /data/web_data:/var/www/<span style="color: rgba(0, 0, 0, 1)">html
   ports:
       </span>- <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">8000:80</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
   restart: always
   environment:
       WORDPRESS_DB_HOST: db:</span><span style="color: rgba(128, 0, 128, 1)">3306</span><span style="color: rgba(0, 0, 0, 1)">
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress</span></pre>
</div>
<h2>启动服务</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#启动
docker</span>-<span style="color: rgba(0, 0, 0, 1)">compose up
#后台启动
docker</span>-compose up -d</pre>
</div>
<h1>docker配合haproxy负载</h1>
<p>灰度重启容器,防止因为更新业务全部关闭容器</p>
<h2>安装haproxy</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> haproxy -y</pre>
</div>
<p>修改配置文件</p>
<p>vi /etc/haproxy/haproxy.cfg</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">global
    log         </span><span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span><span style="color: rgba(0, 0, 0, 1)"> local2
    </span><span style="color: rgba(0, 0, 255, 1)">chroot</span>      /var/lib/<span style="color: rgba(0, 0, 0, 1)">haproxy
    pidfile   </span>/var/run/<span style="color: rgba(0, 0, 0, 1)">haproxy.pid
    maxconn   </span><span style="color: rgba(128, 0, 128, 1)">4000</span><span style="color: rgba(0, 0, 0, 1)">
    user      haproxy
    group       haproxy
    daemon
    stats socket </span>/var/lib/haproxy/<span style="color: rgba(0, 0, 0, 1)">stats level admin
defaults
    mode                  http
    log                     global
    option                  httplog
    option                  dontlognull
    option http</span>-server-<span style="color: rgba(0, 0, 0, 1)">close
    option forwardfor       except </span><span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
    option                  redispatch
    retries               </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">
    timeout http</span>-<span style="color: rgba(0, 0, 0, 1)">request    10s
    timeout queue         1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http</span>-keep-<span style="color: rgba(0, 0, 0, 1)">alive 10s
    timeout check         10s
    maxconn               </span><span style="color: rgba(128, 0, 128, 1)">3000</span><span style="color: rgba(0, 0, 0, 1)">
listen stats
    mode http
    bind </span><span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">8888</span><span style="color: rgba(0, 0, 0, 1)">
    stats enable
    stats uri   </span>/haproxy-<span style="color: rgba(0, 0, 0, 1)">status
    stats auth    admin:</span><span style="color: rgba(128, 0, 128, 1)">123456</span><span style="color: rgba(0, 0, 0, 1)">
frontend frontend_www_example_com
    bind </span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">8000</span><span style="color: rgba(0, 0, 0, 1)">
    mode http
    option httplog
    log global
    default_backend backend_www_example_com
backend backend_www_example_com
    option forwardfor header X</span>-REAL-<span style="color: rgba(0, 0, 0, 1)">IP
    option httpchk HEAD </span>/ HTTP/<span style="color: rgba(128, 0, 128, 1)">1.0</span><span style="color: rgba(0, 0, 0, 1)">
    balance roundrobin
    server web</span>-node1<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">32768</span> check inter <span style="color: rgba(128, 0, 128, 1)">2000</span> rise <span style="color: rgba(128, 0, 128, 1)">30</span> fall <span style="color: rgba(128, 0, 128, 1)">15</span><span style="color: rgba(0, 0, 0, 1)">
    server web</span>-node2<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.11</span>:<span style="color: rgba(128, 0, 128, 1)">32769</span> check inter <span style="color: rgba(128, 0, 128, 1)">2000</span> rise <span style="color: rgba(128, 0, 128, 1)">30</span> fall <span style="color: rgba(128, 0, 128, 1)">15</span></pre>
</div>
<p>启动服务</p>
<div>
<div class="cnblogs_code">
<pre>systemctl start haproxy</pre>
</div>
<h2>安装socat</h2>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> socat.x86_64 -<span style="color: rgba(0, 0, 0, 1)">y
</span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">disable server backend_www_example_com/web-node3</span><span style="color: rgba(128, 0, 0, 1)">"</span>|socat stdio /var/lib/haproxy/<span style="color: rgba(0, 0, 0, 1)">stats
</span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">enable server backend_www_example_com/web-node3</span><span style="color: rgba(128, 0, 0, 1)">"</span>|socat stdio /var/lib/haproxy/stats</pre>
</div>
<p>利用测试页测试</p>
<div class="cnblogs_code">
<pre>&lt;html&gt;
    &lt;<span style="color: rgba(0, 0, 255, 1)">head</span>&gt;
      &lt;title&gt;PHP测试&lt;/title&gt;
    &lt;/<span style="color: rgba(0, 0, 255, 1)">head</span>&gt;
    &lt;body&gt;
      &lt;?php<span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">&lt;p&gt;Hello World &lt;/p&gt;</span><span style="color: rgba(128, 0, 0, 1)">'</span>; ?&gt;
      &lt;?php<span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">访问的服务器地址是:</span><span style="color: rgba(128, 0, 0, 1)">"</span>.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&lt;fontcolor=red&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.$_SERVER[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">SERVER_ADDR</span><span style="color: rgba(128, 0, 0, 1)">'</span>].<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&lt;/font&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&lt;br&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">echo</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">访问的服务器域名是:</span><span style="color: rgba(128, 0, 0, 1)">"</span>.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&lt;fontcolor=red&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.$_SERVER[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">SERVER_NAME</span><span style="color: rgba(128, 0, 0, 1)">'</span>].<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&lt;/font&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&lt;br&gt;</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
      </span>?&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
</div>
<h1>Docker网络类型</h1>
<p style="text-align: center"><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302202024055-1443649308.png" alt=""></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="16%">
<p align="center"><strong>类型</strong></p>
</td>
<td width="83%">
<p align="center"><strong>说明</strong></p>
</td>
</tr>
<tr>
<td width="16%">
<p align="center"><strong>None</strong></p>
</td>
<td width="83%">
<p>不为容器配置任何网络功能,没有网络&nbsp;--net=none</p>
</td>
</tr>
<tr>
<td width="16%">
<p align="center"><strong>Container</strong></p>
</td>
<td width="83%">
<p>与另一个运行中的容器共享Network Namespace,--net=container:containerID</p>
</td>
</tr>
<tr>
<td width="16%">
<p align="center"><strong>Host</strong></p>
</td>
<td width="83%">
<p>与主机共享Network Namespace,--net=host</p>
</td>
</tr>
<tr>
<td width="16%">
<p align="center"><strong>Bridge</strong></p>
</td>
<td width="83%">
<p>Docker设计的NAT网络模型<strong>(默认类型)</strong></p>
</td>
</tr>
</tbody>
</table>
<p><strong>Bridge</strong>默认docker网络隔离基于网络命名空间,在物理机上创建docker容器时会为每一个docker容器分配网络命名空间,并且把容器IP桥接到物理机的虚拟网桥上。</p>
<h2>不为容器配置网络功能&nbsp;</h2>
<p>此模式下创建容器是不会为容器配置任何网络参数的,如:容器网卡、IP、通信路由等,全部需要自己去配置。</p>
<div class="cnblogs_code">
<pre># docker run-it --network none busybox:latest/bin/<span style="color: rgba(0, 0, 255, 1)">sh</span>
/<span style="color: rgba(0, 0, 0, 1)"> # ip a
</span><span style="color: rgba(128, 0, 128, 1)">1</span>: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu <span style="color: rgba(128, 0, 128, 1)">65536</span><span style="color: rgba(0, 0, 0, 1)"> qdisc noqueue
    link</span>/loopback <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span> brd <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span><span style="color: rgba(0, 0, 0, 1)">
    inet </span><span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>/<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)"> scope host lo
       valid_lft forever preferred_lft forever</span></pre>
</div>
<h2>与其他容器共享网络配置(Container)</h2>
<p>此模式和host模式很类似,只是此模式创建容器共享的是其他容器的IP和端口而不是物理机,此模式容器自身是不会配置网络和端口,创建此模式容器进去后,你会发现里边的IP是你所指定的那个容器IP并且端口也是共享的,而且其它还是互相隔离的,如进程等。</p>
<div class="cnblogs_code">
<pre># docker run-it --network container:mywordpress_db_1busybox:latest/bin/<span style="color: rgba(0, 0, 255, 1)">sh</span>
/<span style="color: rgba(0, 0, 0, 1)"> # ip a
</span><span style="color: rgba(128, 0, 128, 1)">1</span>: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu <span style="color: rgba(128, 0, 128, 1)">65536</span><span style="color: rgba(0, 0, 0, 1)"> qdisc noqueue
    link</span>/loopback <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span> brd <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">00</span><span style="color: rgba(0, 0, 0, 1)">
    inet </span><span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>/<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)"> scope host lo
       valid_lft forever preferred_lft forever
</span><span style="color: rgba(128, 0, 128, 1)">105</span>: eth0@if106: &lt;BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN&gt; mtu <span style="color: rgba(128, 0, 128, 1)">1500</span><span style="color: rgba(0, 0, 0, 1)"> qdisc noqueue
    link</span>/ether <span style="color: rgba(128, 0, 128, 1)">02</span>:<span style="color: rgba(128, 0, 128, 1)">42</span>:ac:<span style="color: rgba(128, 0, 128, 1)">12</span>:<span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">03</span><span style="color: rgba(0, 0, 0, 1)"> brd ff:ff:ff:ff:ff:ff
    inet </span><span style="color: rgba(128, 0, 128, 1)">172.18</span>.<span style="color: rgba(128, 0, 128, 1)">0.3</span>/<span style="color: rgba(128, 0, 128, 1)">16</span> brd <span style="color: rgba(128, 0, 128, 1)">172.18</span>.<span style="color: rgba(128, 0, 128, 1)">255.255</span><span style="color: rgba(0, 0, 0, 1)"> scope global eth0
       valid_lft forever preferred_lft forever</span></pre>
</div>
<h2>使用宿主机网络</h2>
<p>此模式创建的容器没有自己独立的网络命名空间,是和物理机共享一个Network Namespace,并且共享物理机的所有端口与IP,并且这个模式认为是不安全的。、</p>
<div>
<div class="cnblogs_code">
<pre># docker run-it --network hostbusybox:latest/bin/<span style="color: rgba(0, 0, 255, 1)">sh</span></pre>
</div>
<h2>查看网络列表</h2>
</div>
<div class="cnblogs_code">
<pre># docker network list
NETWORK ID          NAME                  DRIVER            SCOPE
b15e8a720d3b      bridge                bridge            local
345d65b4c2a0      host                  host                local
bc5e2a32bb55      mywordpress_default   bridge            local
ebf76eea91bb      none                  </span><span style="color: rgba(0, 0, 255, 1)">null</span>                local</pre>
</div>
<h2>用PIPEWORK为docker容器配置独立IP</h2>
<p>参考文档:http://blog.csdn.net/design321/article/details/48264825</p>
<p>官方网站:https://github.com/jpetazzo/pipework</p>
<p>宿主环境:centos7.2</p>
<p><strong>1</strong><strong>、安装pipework</strong></p>
<div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">github.com/jpetazzo/pipework/archive/master.zip</span>
<span style="color: rgba(0, 0, 255, 1)">unzip</span> master.<span style="color: rgba(0, 0, 255, 1)">zip</span>
<span style="color: rgba(0, 0, 255, 1)">cp</span> pipework-master/pipework/usr/local/bin/
<span style="color: rgba(0, 0, 255, 1)">chmod</span> +x /usr/local/bin/pipework</pre>
</div>
</div>
<p><strong>2</strong><strong>、配置网桥连接</strong></p>
<p>安装桥接工具</p>
<div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> bridge-utils.x86_64 -y</pre>
</div>
</div>
<p>修改网卡配置,实现桥接</p>
<div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 128, 0, 1)"># 修改eth0配置,让br0实现桥接</span>
# <span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/sysconfig/network-scripts/ifcfg-<span style="color: rgba(0, 0, 0, 1)">eth0
TYPE</span>=<span style="color: rgba(0, 0, 0, 1)">Ethernet
BOOTPROTO</span>=<span style="color: rgba(0, 0, 0, 1)">static
NAME</span>=<span style="color: rgba(0, 0, 0, 1)">eth0
DEVICE</span>=<span style="color: rgba(0, 0, 0, 1)">eth0
ONBOOT</span>=<span style="color: rgba(0, 0, 0, 1)">yes
BRIDGE</span>=<span style="color: rgba(0, 0, 0, 1)">br0

# <span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/sysconfig/network-scripts/ifcfg-<span style="color: rgba(0, 0, 0, 1)">br0
TYPE</span>=<span style="color: rgba(0, 0, 0, 1)">Bridge
BOOTPROTO</span>=<span style="color: rgba(0, 0, 0, 1)">static
NAME</span>=<span style="color: rgba(0, 0, 0, 1)">br0
DEVICE</span>=<span style="color: rgba(0, 0, 0, 1)">br0
ONBOOT</span>=<span style="color: rgba(0, 0, 0, 1)">yes
IPADDR</span>=<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span><span style="color: rgba(0, 0, 0, 1)">
NETMASK</span>=<span style="color: rgba(128, 0, 128, 1)">255.255</span>.<span style="color: rgba(128, 0, 128, 1)">255.0</span><span style="color: rgba(0, 0, 0, 1)">
GATEWAY</span>=<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.254</span><span style="color: rgba(0, 0, 0, 1)">
DNS1</span>=<span style="color: rgba(128, 0, 128, 1)">223.5</span>.<span style="color: rgba(128, 0, 128, 1)">5.5<br></span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 128, 0, 1)">
# 重启网络</span>
# /etc/init.d/network restart</pre>
</div>
</div>
<p><strong>3</strong><strong>、运行一个容器镜像测试:</strong></p>
<div>
<div class="cnblogs_code">
<pre>pipework br0 $(docker run -d -it -p <span style="color: rgba(128, 0, 128, 1)">6880</span>:<span style="color: rgba(128, 0, 128, 1)">80</span> --namehttpd_pw httpd) <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.220</span>/<span style="color: rgba(128, 0, 128, 1)">24</span>@<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.254</span></pre>
</div>
</div>
<p>在其他主机上测试端口及连通性</p>
<div>
<div class="cnblogs_code">
<pre># curl <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.220</span>
&lt;html&gt;&lt;body&gt;&lt;h1&gt;It works!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;<span style="color: rgba(0, 0, 0, 1)">
# <span style="color: rgba(0, 0, 255, 1)">ping</span> <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.220</span> -c <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
PING </span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.220</span> (<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.220</span>) <span style="color: rgba(128, 0, 128, 1)">56</span>(<span style="color: rgba(128, 0, 128, 1)">84</span><span style="color: rgba(0, 0, 0, 1)">) bytes of data.
</span><span style="color: rgba(128, 0, 128, 1)">64</span> bytes from <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.220</span>: icmp_seq=<span style="color: rgba(128, 0, 128, 1)">1</span> ttl=<span style="color: rgba(128, 0, 128, 1)">64</span> <span style="color: rgba(0, 0, 255, 1)">time</span>=<span style="color: rgba(128, 0, 128, 1)">0.043</span> ms</pre>
</div>
</div>
<p><strong>4</strong><strong>、再运行一个容器,设置网路类型为none</strong><strong>:</strong></p>
<div>
<div class="cnblogs_code">
<pre>pipework br0 $(docker run -d -it --net=none --name test httpd:<span style="color: rgba(128, 0, 128, 1)">2.4</span>) <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.221</span>/<span style="color: rgba(128, 0, 128, 1)">24</span>@<span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.254</span></pre>
</div>
</div>
<p>进行访问测试</p>
<div>
<div class="cnblogs_code">
<pre># curl <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.221</span>
&lt;html&gt;&lt;body&gt;&lt;h1&gt;It works!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</pre>
</div>
</div>
<p><strong>5</strong><strong>、重启容器后需要再次指定:</strong></p>
<div>
<div class="cnblogs_code">
<pre>pipework br0 testduliip<span style="color: rgba(128, 0, 128, 1)">172.16</span>.<span style="color: rgba(128, 0, 128, 1)">146.113</span>/<span style="color: rgba(128, 0, 128, 1)">24</span>@<span style="color: rgba(128, 0, 128, 1)">172.16</span>.<span style="color: rgba(128, 0, 128, 1)">146.1</span><span style="color: rgba(0, 0, 0, 1)">
pipework br0 testduliip01</span><span style="color: rgba(128, 0, 128, 1)">172.16</span>.<span style="color: rgba(128, 0, 128, 1)">146.112</span>/<span style="color: rgba(128, 0, 128, 1)">24</span>@<span style="color: rgba(128, 0, 128, 1)">172.16</span>.<span style="color: rgba(128, 0, 128, 1)">146.1</span></pre>
</div>
</div>
<h2>Docker跨主机通信之macvlan</h2>
<h3>创建macvlan网络</h3>
<div class="cnblogs_code">
<pre>docker network create --driver macvlan --subnet <span style="color: rgba(128, 0, 128, 1)">10.1</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">24</span> --gateway <span style="color: rgba(128, 0, 128, 1)">10.1</span>.<span style="color: rgba(128, 0, 128, 1)">0.254</span> -o parent=eth0 macvlan_1</pre>
</div>
<h3>设置eth0的网卡为混杂模式</h3>
<div class="cnblogs_code">
<pre>ip link set eth0 promisc on</pre>
</div>
<h3>创建使用macvlan网络的容器</h3>
<div class="cnblogs_code">
<pre>docker run -it --network macvlan_1 --ip=<span style="color: rgba(128, 0, 128, 1)">10.1</span>.<span style="color: rgba(128, 0, 128, 1)">0.210</span> busybox:latest /bin/<span style="color: rgba(0, 0, 255, 1)">sh</span></pre>
</div>
<p>基于macvlan网络,还存有overlay网络</p>
<p>Dcoker跨主机通信之overlay&nbsp;参考文档:http://www.cnblogs.com/CloudMan6/p/7270551.html</p>
<h1>Docker镜像的生命周期图</h1>
<p><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302205803829-1874030209.png" alt=""></p>
<h1>docker企业级镜像仓库harbor</h1>
<h2>介绍</h2>
<p>Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目(Harbor 提出的概念),基于官方 Registry V2 实现。 通过地址:https://github.com/vmware/harbor/releases 可以下载最新的版本。&nbsp; 官方提供了两种版本:在线版和离线版。</p>
<h2>安装步骤</h2>
<h3><strong>容器管理</strong></h3>
<div class="cnblogs_code">
<pre># pwd
/opt/harbor
# docker-compose stop</pre>
</div>
<h3>第一步:安装docker和docker-compose</h3>
<p>下载harbor-offline-installer-v1.3.0.tgz</p>
<div class="cnblogs_code">
<pre>cd /opt &amp;&amp; https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.3.0.tgz
tar xf harbor-offline-installer-v1.3.0.tgz</pre>
</div>
<h3>第二步:修改主机及web界面密码</h3>
<p>修改harbor.cfg配置文件</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># vim harbor.cfg
    ···
    </span><span style="color: rgba(0, 0, 255, 1)">hostname</span> = <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span><span style="color: rgba(0, 0, 0, 1)">
    harbor_admin_password </span>=<span style="color: rgba(0, 0, 0, 1)"> 123456
    ···</span></pre>
</div>
<h3>第三步:执行install.sh</h3>
<div class="cnblogs_code">
<pre># ./<span style="color: rgba(0, 0, 255, 1)">install</span>.<span style="color: rgba(0, 0, 255, 1)">sh</span></pre>
</div>
<h3>第四步:web登陆测试</h3>
<p style="text-align: center"><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302204959846-613224933.png" alt=""></p>
<p style="text-align: center"><img src="https://images2018.cnblogs.com/blog/1234532/201803/1234532-20180302204448705-678832972.png" alt=""></p>
<h3>&nbsp;镜像推送到仓库的指定项目</h3>
<div class="cnblogs_code">
<pre># dockertag centos:<span style="color: rgba(128, 0, 128, 1)">6.8</span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span>/clsn/centos6.<span style="color: rgba(128, 0, 128, 1)">8</span>:<span style="color: rgba(128, 0, 128, 1)">1.0</span><span style="color: rgba(0, 0, 0, 1)">
#
# docker images
REPOSITORY                  TAG               IMAGE ID            CREATED             SIZE
busybox                     latest            5b0d59026729      </span><span style="color: rgba(128, 0, 128, 1)">8</span> days ago          <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.15MB
</span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span>/clsn/centos6.<span style="color: rgba(128, 0, 128, 1)">8</span>   <span style="color: rgba(128, 0, 128, 1)">1.0</span>               6704d778b3ba      <span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)"> months ago      195MB
centos                      </span><span style="color: rgba(128, 0, 128, 1)">6.8</span>               6704d778b3ba      <span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)"> months ago      195MB
# docker <span style="color: rgba(0, 0, 255, 1)">login</span> <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span><span style="color: rgba(0, 0, 0, 1)">
Username: admin
Password:
Login Succeeded</span></pre>
</div>
<h3>推送镜像</h3>
<div class="cnblogs_code">
<pre># docker push <span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span>/clsn/centos6.<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
The push refers to repository [</span><span style="color: rgba(128, 0, 128, 1)">10.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span>/clsn/centos6.<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">]
e00c9229b481: Pushing</span><span style="color: rgba(128, 0, 128, 1)">13</span>.53MB/<span style="color: rgba(128, 0, 128, 1)">194</span>.5MB</pre>
</div>
<p><span style="color: rgba(255, 0, 0, 1); font-family: &quot;Microsoft YaHei&quot;; font-size: 18px">&nbsp;转载注明出处,写这篇很累!!!</span></p><br><br>
来源:https://www.cnblogs.com/lyq863987322/p/8494969.html
頁: [1]
查看完整版本: Docker容器技术