<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Docker%E5%85%A5%E9%97%A8</id>
	<title>Docker入门 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Docker%E5%85%A5%E9%97%A8"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker%E5%85%A5%E9%97%A8&amp;action=history"/>
	<updated>2026-04-20T14:29:00Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Docker%E5%85%A5%E9%97%A8&amp;diff=1543&amp;oldid=prev</id>
		<title>Evan：​/* 进阶 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker%E5%85%A5%E9%97%A8&amp;diff=1543&amp;oldid=prev"/>
		<updated>2025-07-06T03:03:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;进阶&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年7月6日 (日) 03:03的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;第3行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第3行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Dockerfile]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Dockerfile]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#一次关闭所有 在运动 中的 docker 容器，关键是 -q &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;docker ps -q | xargs docker stop&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;如果要方便  怕权限问题 放到/tmp  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;如果要方便  怕权限问题 放到/tmp  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff:1.41:old-334:rev-1543:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Docker%E5%85%A5%E9%97%A8&amp;diff=334&amp;oldid=prev</id>
		<title>Evan：​/* trouble */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker%E5%85%A5%E9%97%A8&amp;diff=334&amp;oldid=prev"/>
		<updated>2025-06-09T10:12:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;trouble&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=进阶=&lt;br /&gt;
&lt;br /&gt;
[[Dockerfile]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
如果要方便  怕权限问题 放到/tmp &lt;br /&gt;
docker cp :用于容器与主机之间的数据拷贝。&lt;br /&gt;
1、从主机往容器中拷贝&lt;br /&gt;
eg：将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。&lt;br /&gt;
&lt;br /&gt;
docker cp /www/runoob 96f7f14e99ab:/www/&lt;br /&gt;
&lt;br /&gt;
2、将容器中文件拷往主机&lt;br /&gt;
eg：将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。&lt;br /&gt;
&lt;br /&gt;
docker cp  96f7f14e99ab:/www /tmp/&lt;br /&gt;
&lt;br /&gt;
eg:将主机/www/runoob目录拷贝到容器96f7f14e99ab中，目录重命名为www。&lt;br /&gt;
&lt;br /&gt;
docker cp /www/runoob 96f7f14e99ab:/www&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Docker and docker-compose快速安装#修改docker数据目录 修改docker的默认存储位置|目录挂载]]&lt;br /&gt;
&lt;br /&gt;
[https://my.oschina.net/u/4169309/blog/4692251 调试 Docker 容器内部进程]&lt;br /&gt;
&lt;br /&gt;
[https://www.bilibili.com/video/BV1fYwNekESL?spm_id_from=333.788.videopod.episodes&amp;amp;vd_source=e3e41ea2b1d70e0e3a6a0372ee88d714&amp;amp;p=14 14.项目部署-DockerCompose]&lt;br /&gt;
&lt;br /&gt;
[https://www.bilibili.com/video/BV11L411g7U1?spm_id_from=333.788.player.switch&amp;amp;vd_source=e3e41ea2b1d70e0e3a6a0372ee88d714&amp;amp;p=2 Docker 1小时快速上手教程，无废话纯干货]&lt;br /&gt;
&lt;br /&gt;
=入门=&lt;br /&gt;
&lt;br /&gt;
=场景=	&lt;br /&gt;
Docker通常用于如下场景：&lt;br /&gt;
web应用的自动化打包和发布；&lt;br /&gt;
&lt;br /&gt;
自动化测试和持续集成、发布；&lt;br /&gt;
&lt;br /&gt;
在服务型环境中部署和调整数据库或其他的后台应用；&lt;br /&gt;
&lt;br /&gt;
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。&lt;br /&gt;
&lt;br /&gt;
官方文档要求Linux kernel至少3.8以上，且docker只能运行在64位的系统中。由于RHEL6和CentOS6的内核版本为2.6，因此必须要先升级内核。&lt;br /&gt;
&lt;br /&gt;
[https://www.runoob.com/docker/docker-tutorial.html Docker 教程]&lt;br /&gt;
&lt;br /&gt;
= 加速=&lt;br /&gt;
[[Docker国内镜像的配置及使用]]&lt;br /&gt;
&lt;br /&gt;
=安装=&lt;br /&gt;
[[Docker and docker-compose快速安装]] 看这看这&lt;br /&gt;
==官方教程==&lt;br /&gt;
===install-using-the-repository ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# step 1: 安装必要的一些系统工具&lt;br /&gt;
sudo yum install -y yum-utils device-mapper-persistent-data lvm2&lt;br /&gt;
# Step 2: 添加软件源信息&lt;br /&gt;
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo&lt;br /&gt;
# Step 3: 更新并安装 Docker-CE&lt;br /&gt;
sudo yum makecache fast&lt;br /&gt;
sudo yum -y install docker-ce&lt;br /&gt;
# Step 4: 开启Docker服务&lt;br /&gt;
systemctl enable docker &amp;amp;&amp;amp; systemctl start docker&lt;br /&gt;
&lt;br /&gt;
# 注意：&lt;br /&gt;
# 官方软件源默认启用了最新的软件，您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用，你可以通过以下方式开启。同理可以开启各种测试版本等。&lt;br /&gt;
# vim /etc/yum.repos.d/docker-ce.repo&lt;br /&gt;
#   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1&lt;br /&gt;
#&lt;br /&gt;
# 安装指定版本的Docker-CE:&lt;br /&gt;
# Step 1: 查找Docker-CE的版本:&lt;br /&gt;
# yum list docker-ce.x86_64 --showduplicates | sort -r&lt;br /&gt;
#   Loading mirror speeds from cached hostfile&lt;br /&gt;
#   Loaded plugins: branch, fastestmirror, langpacks&lt;br /&gt;
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable&lt;br /&gt;
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable&lt;br /&gt;
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable&lt;br /&gt;
#   Available Packages&lt;br /&gt;
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)&lt;br /&gt;
# sudo yum -y install docker-ce-[VERSION]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====amazon-linux 2 ====&lt;br /&gt;
  yum install -y docker&lt;br /&gt;
&lt;br /&gt;
[https://gist.github.com/npearce/6f3c7826c7499587f00957fee62f8ee9 Docker CE and docker-compose Install on amazon linux2]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
===install-from-a-package===&lt;br /&gt;
====1.install-from-a-package on centos====&lt;br /&gt;
  yum install libtool-ltdl-2.4.2-22.el7_3.x86_64 container-selinux libcgroup  libseccomp libltdl.so #然后下载rpm包&lt;br /&gt;
&lt;br /&gt;
[http://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/ download rpm]&lt;br /&gt;
&lt;br /&gt;
[https://docs.docker.com/install/linux/docker-ce/centos/#install-from-a-package install-from-a-package oncentos]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====2.Install using the repository on debian====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get remove docker docker-engine docker.io containerd runc&lt;br /&gt;
apt  install software-properties-common&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install \&lt;br /&gt;
    apt-transport-https \&lt;br /&gt;
    ca-certificates \&lt;br /&gt;
    curl \&lt;br /&gt;
    gnupg2 \&lt;br /&gt;
    software-properties-common&lt;br /&gt;
&lt;br /&gt;
 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
 sudo apt-key fingerprint 0EBFCD88&lt;br /&gt;
 sudo add-apt-repository    &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
   $(lsb_release -cs) \&lt;br /&gt;
   stable&amp;quot;&lt;br /&gt;
 apt-get update&lt;br /&gt;
sudo apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2.install-from-a-package on debian====&lt;br /&gt;
&lt;br /&gt;
Go to https://download.docker.com/linux/debian/dists/, choose your Debian version, browse to pool/stable/, choose either amd64 or armhf, and download the .deb file for the Docker CE version you want to install.&lt;br /&gt;
&lt;br /&gt;
I am  stretch so&lt;br /&gt;
 apt install libltdl7 -y&lt;br /&gt;
&lt;br /&gt;
http://mirrors.aliyun.com/docker-ce/linux/debian/dists/stretch/pool/stable/amd64/&lt;br /&gt;
&lt;br /&gt;
=run=&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo systemctl enable docker&lt;br /&gt;
 sudo systemctl start docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=docker代理设置=&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/atuotuo/p/7298673.html docker - 设置HTTP/HTTPS 代理]&lt;br /&gt;
&lt;br /&gt;
[[DockerHub镜像加速]]&lt;br /&gt;
&lt;br /&gt;
==docker pull proxy==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mkdir  /etc/systemd/system/docker.service.d/&lt;br /&gt;
vim /etc/systemd/system/docker.service.d/http-proxy.conf&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;HTTP_PROXY=http://192.168.10.105:1080&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HTTPS_PROXY=http://192.168.10.105:1080&amp;quot;&lt;br /&gt;
&lt;br /&gt;
systemctl  daemon-reload &lt;br /&gt;
 systemctl  restart docker &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 docker pull alpine &lt;br /&gt;
Using default tag: latest&lt;br /&gt;
latest: Pulling from library/alpine&lt;br /&gt;
43c4264eed91: Pull complete &lt;br /&gt;
Digest: sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d&lt;br /&gt;
Status: Downloaded newer image for alpine:latest&lt;br /&gt;
docker.io/library/alpine:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[https://neucrack.com/p/286 docker 设置代理，以及国内加速镜像设置  ]&lt;br /&gt;
&lt;br /&gt;
=====see also=====&lt;br /&gt;
https://docs.docker.com/install/linux/docker-ce/debian/#upgrade-docker-ce&lt;br /&gt;
&lt;br /&gt;
[https://medium.com/@calypso_bronte/installing-docker-in-kali-linux-2018-1-ef3a8ce3648 Installing Docker in Kali Linux 2018.1]&lt;br /&gt;
&lt;br /&gt;
===参考===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yq.aliyun.com/articles/110806 Docker CE 镜像源站]&lt;br /&gt;
&lt;br /&gt;
[https://docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository Get Docker CE for CentOS]&lt;br /&gt;
&lt;br /&gt;
[http://guide.daocloud.io/dcs/python-docker-9155445.html Python 开发者的 Docker 之旅]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;	&lt;br /&gt;
注意docker的网络基于NAT，重启宿主机器防火墙后，需要重启docker&lt;br /&gt;
&lt;br /&gt;
推荐centos 7 运行docker&lt;br /&gt;
安装：&lt;br /&gt;
yum -y install docker-io&lt;br /&gt;
&lt;br /&gt;
运行/停止/重启:&lt;br /&gt;
systemctl start docker&lt;br /&gt;
systemctl stop docker&lt;br /&gt;
systemctl restart docker&lt;br /&gt;
&lt;br /&gt;
#开机自启动&lt;br /&gt;
systemctl enable docker.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=docker常用命令=&lt;br /&gt;
[https://www.cnblogs.com/yinzhengjie/p/12189729.html Docker容器操作基础命令]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker inspect --format=&amp;#039;{{.LogPath}}&amp;#039; containername&lt;br /&gt;
&lt;br /&gt;
docker logs docker日志&lt;br /&gt;
#日志过滤&lt;br /&gt;
docker logs xx -f 2&amp;gt;&amp;amp;1| grep --line-buffered xxx&lt;br /&gt;
&lt;br /&gt;
docker logs -f --tail 10 a4dac74d48f7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker help （help 命令）&lt;br /&gt;
docker ps -a  查看容器运行情况&lt;br /&gt;
docker start/stop/restart  name(容器名称)  (启动/停止/重启)&lt;br /&gt;
docker search nginx 查找nginx 容器镜像&lt;br /&gt;
docker pull nginx 下载镜像&lt;br /&gt;
docker images name 查看本地已有镜像&lt;br /&gt;
&lt;br /&gt;
docker rmi   删除images的命令 有f参数&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#使用一下命令对镜像重启：&lt;br /&gt;
$docker restart imageid&lt;br /&gt;
&lt;br /&gt;
#在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启：&lt;br /&gt;
$docker run --restart=always&lt;br /&gt;
#如果已经启动了则可以使用如下命令：&lt;br /&gt;
$docker update --restart=always &amp;lt;CONTAINER ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker search jenkins&lt;br /&gt;
docker pull  docker.io/jenkins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker run命令即是运行容器。其中涉及到很多参数，可以通过docker run --help命令查看，但一般用的比较多的是&lt;br /&gt;
-d 后台运行 -d, --detach      Run container in background and print container ID&lt;br /&gt;
-it 交互模式运行&lt;br /&gt;
--name 制定容器的名称&lt;br /&gt;
-h 制定容器的主机名&lt;br /&gt;
-p 分配对外端口给容器&lt;br /&gt;
-P 随机分配对外端口给容器&lt;br /&gt;
一般在最后加上镜像名&lt;br /&gt;
&lt;br /&gt;
例如：                                   -p hostPort:containerPort&lt;br /&gt;
docker run --name=jenkins -it -u root -d -p 8080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home 3f08dc4f3f5d&lt;br /&gt;
&lt;br /&gt;
--name=jenkins 命名  &lt;br /&gt;
-it  交互模式运行&lt;br /&gt;
-u root  root权限&lt;br /&gt;
-d 后台运行&lt;br /&gt;
-p 8080:8080 映射端口&lt;br /&gt;
-p 50000:50000 映射端口&lt;br /&gt;
-v /data/jenkins:/var/jenkins_home 映射目录&lt;br /&gt;
3f08dc4f3f5d  本地镜像ID  docker images name 命令可查看ID eg #docker images jenkins&lt;br /&gt;
&lt;br /&gt;
docker-compose &lt;br /&gt;
a.yml&lt;br /&gt;
    networks:&lt;br /&gt;
     - d_net&lt;br /&gt;
    container_name: &amp;quot;compose-mysql&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
映射（例如“发布”）jenkinsci/blueocean 容器的端口8080到主机上的端口8080。 第一个数字代表主机上的端口，而最后一个代表容器的端口。因此，如果您为此选项指定 -p 49000:8080 ，您将通过端口49000访问主机上的Jenkins。&lt;br /&gt;
（可选）将 jenkinsci/blueocean 容器的端口50000 映射到主机上的端口50000。 如果您在其他机器上设置了一个或多个基于JNLP的Jenkins代理程序，而这些代理程序又与 jenkinsci/blueocean 容器交互（充当“主”Jenkins服务器，或者简称为“Jenkins主”）， 则这是必需的。默认情况下，基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主站进行通信。 &lt;br /&gt;
&lt;br /&gt;
您可以通过“ 配置全局安全性” 页面更改Jenkins主服务器上的端口号。如果您要将您的Jenkins主机的JNLP代理端口的TCP端口 值更改为51000（例如），那么您需要重新运行Jenkins（通过此 docker run …​命令）并指定此“发布”选项 -p 52000:51000，其中最后一个值与Jenkins master上的这个更改值相匹配，第一个值是Jenkins主机的主机上的端口号， 通过它，基于JNLP的Jenkins代理与Jenkins主机进行通信 - 例如52000。&lt;br /&gt;
（可选，但强烈建议）映射在容器中的`/var/jenkins_home` 目录到具有名字 jenkins-data 的volume。 如果这个卷不存在，那么这个 docker run 命令会自动为你创建卷。 如果您希望每次重新启动Jenkins（通过此 docker run ... 命令）时保持Jenkins状态，则此选项是必需的 。 如果你没有指定这个选项，那么在每次重新启动后，Jenkins将有效地重置为新的实例。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
登入容器：&lt;br /&gt;
docker exec -it jenkins /bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
同步容器时间&lt;br /&gt;
在Dockerfile中加入&lt;br /&gt;
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &amp;amp;&amp;amp; ntpdate cn.pool.ntp.org&lt;br /&gt;
或&lt;br /&gt;
容器运行后把容主机的/usr/share/zoneinfo/Asia/Shanghai 复制到容器的/etc/localtime&lt;br /&gt;
&lt;br /&gt;
#先cp 到　/data/jenkins&lt;br /&gt;
cp  /usr/share/zoneinfo/Asia/Shanghai  /data/jenkins&lt;br /&gt;
&lt;br /&gt;
--rm \ （可选）线上一般不用 jenkinsci/blueocean 关闭时自动删除Docker容器（下图为实例）。如果您需要退出Jenkins，这可以保持整洁&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==docker logs==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker logs --tail=10 &lt;br /&gt;
&lt;br /&gt;
docker logs --since=&amp;quot;2016-07-01&amp;quot; --tail=10 mynginx  #查看容器mynginx从2016年7月1日后的最新10条日志。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://docs.docker.com/engine/reference/commandline/logs/&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/everfight/p/docker_log_explain.html  [译&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;如何将docker日志重定向到单个文件里 ]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/bf2eb121ac62 将日志输出到Docker容器外]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.runoob.com/docker/docker-logs-command.html Docker logs 命令]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/CloudMan6/p/7749304.html  日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术（87） ]&lt;br /&gt;
&lt;br /&gt;
[https://cloud.tencent.com/developer/article/1486571 Docker logs 查看实时日志（日志最后的N行、某刻后日志]&lt;br /&gt;
&lt;br /&gt;
== docker run VS docker exec==&lt;br /&gt;
docker run”通常是在新创建的容器中所使用的命令。 它适用于在没有其他容器运行的情况下，您想要创建一个容器，并且要启动它，然后在其上运行一个进程&lt;br /&gt;
&lt;br /&gt;
docker exec”适用于在现有容器中运行命令的情况。如果您已经拥有了一个正在运行的容器，并希望更改该容器或从中获取某些内容，那么使用“docker exec”命令就非常合适了。例如，如果您使用了 docker-compose，那么您可能会启动多个容器，并且希望能够在创建它们后访问其中的一个或多个容器&lt;br /&gt;
&lt;br /&gt;
[https://yq.aliyun.com/articles/640877 “docker run”VS“docker exec这两个命令有区别]&lt;br /&gt;
==docker 环境变量==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
格式有两种：&lt;br /&gt;
&lt;br /&gt;
    ENV key value&lt;br /&gt;
    ENV key1=value1 key2=value2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@debian11:~# cat ins &lt;br /&gt;
docker run -d \&lt;br /&gt;
  --restart=unless-stopped \&lt;br /&gt;
  --env KUBOARD_ADMIN_DERAULT_PASSWORD=evan123456  \ #这行就是我添加的环境变量 &lt;br /&gt;
  --name=kuboard \&lt;br /&gt;
  -p 80:80/tcp \&lt;br /&gt;
  -p 10081:10081/tcp \&lt;br /&gt;
  -e KUBOARD_ENDPOINT=&amp;quot;http://192.168.10.175:80&amp;quot; \&lt;br /&gt;
  -e KUBOARD_AGENT_SERVER_TCP_PORT=&amp;quot;10081&amp;quot; \&lt;br /&gt;
  -v /data/kuboard-data:/data \&lt;br /&gt;
  eipwork/kuboard:v3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/KbMan/p/12029758.html Docker环境变量设置]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/vickey-wu/p/11079813.html  在docker镜像中加入环境变量]&lt;br /&gt;
&lt;br /&gt;
==查看docker容器的资源使用docker stats ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Demonstrate how you would log the resource usage of the containers every 10 seconds.&lt;br /&gt;
&lt;br /&gt;
 cat  10s.sh &lt;br /&gt;
 watch -n 10 &amp;quot;sudo  docker stats nginx1.15  --no-stream &amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/ternence_hsu/article/details/103399994  查看docker容器的资源使用详情]&lt;br /&gt;
&lt;br /&gt;
[https://docs.docker.com/engine/reference/commandline/stats/ docker stats]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/sparkdev/p/7821376.html  查看 docker 容器使用的资源]&lt;br /&gt;
&lt;br /&gt;
[https://cloud.tencent.com/developer/article/1541435 如何获得Docker容器资源统计信息]&lt;br /&gt;
&lt;br /&gt;
=docker cp 数据交互 docker中宿主机与容器（container）互相拷贝传递文件=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Docker容器和主机如何互相拷贝传输文件&lt;br /&gt;
&lt;br /&gt;
将主机./RS-MapReduce目录拷贝到容器30026605dcfe的/home/cloudera目录下。&lt;br /&gt;
docker cp RS-MapReduce 30026605dcfe:/home/cloudera&lt;br /&gt;
&lt;br /&gt;
docker cp  bsd-daemon-tux-logo.png mediawiki:/etc/apt/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
将容器30026605dcfe的/home/cloudera/RS-MapReduce目录拷贝到主机的/tmp目录中。&lt;br /&gt;
docker cp  30026605dcfe:/home/cloudera/RS-MapReduce /tmp/&amp;lt;/pre&amp;gt;&lt;br /&gt;
=与DockerFile=&lt;br /&gt;
[https://www.cnblogs.com/liaojiafa/p/6151768.html  Docker探索系列2之镜像打包与DockerFile ]&lt;br /&gt;
=docker build Dockerfile=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
➜  hellodocker cat index.js &lt;br /&gt;
console.log(&amp;quot;welcome to docker world&amp;quot;)&lt;br /&gt;
➜  hellodocker cat Dockerfile &lt;br /&gt;
FROM node:14-alpine&lt;br /&gt;
COPY index.js /index.js&lt;br /&gt;
CMD node /index.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo  docker build -t hello-docker .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
➜  hellodocker sudo docker run  hello-docker &lt;br /&gt;
welcome to docker world&lt;br /&gt;
➜  hellodocker &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=镜像仓库 hub.docker 镜像上传=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#首先登录  最后是在国外的机器，不然你懂的&lt;br /&gt;
docker# docker login -u evan886&lt;br /&gt;
Password: &lt;br /&gt;
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.&lt;br /&gt;
Configure a credential helper to remove this warning. See&lt;br /&gt;
https://docs.docker.com/engine/reference/commandline/login/#credential-stores&lt;br /&gt;
&lt;br /&gt;
Login Succeeded&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker build --tag evan886/centos-nginx:v1 -f nginx/Dockerfile .&lt;br /&gt;
docker push evan886/centos-nginx:v1&lt;br /&gt;
&lt;br /&gt;
最后在push 之前试一下可用性&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker tag  4aa10f1033a0 evan886/gost:v2025&lt;br /&gt;
&lt;br /&gt;
docker images &lt;br /&gt;
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE&lt;br /&gt;
evan886/gost    v2025     4aa10f1033a0   10 months ago   28.5MB&lt;br /&gt;
&lt;br /&gt;
docker push  evan886/gost:v2025&lt;br /&gt;
&lt;br /&gt;
可以直接打开自己的 hub.docker &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
其它类似的&lt;br /&gt;
[[阿里云docker仓库]]&lt;br /&gt;
&lt;br /&gt;
=trouble=&lt;br /&gt;
== 关联多个tag删除不成功==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
多个 tag 关联，先删除至少一个tag 如果一共两个的话，再删除; 不建议 forced &lt;br /&gt;
docker rmi 2a1d608bb4df&lt;br /&gt;
Error response from daemon: conflict: unable to delete 2a1d608bb4df (must be forced) - image is referenced in multiple repositories&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker rmi grafana/grafana:latest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== docker login ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
login 问题 &lt;br /&gt;
&lt;br /&gt;
-sfo2-01:~# docker login --username= registry.cn-hangzhou.aliyuncs.com&lt;br /&gt;
Password: &lt;br /&gt;
Error saving credentials: error storing credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 apt install gnupg2 pass&lt;br /&gt;
2-01:~# docker login --username= registry.cn-hangzhou.aliyuncs.com&lt;br /&gt;
Password: &lt;br /&gt;
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.&lt;br /&gt;
Configure a credential helper to remove this warning. See&lt;br /&gt;
https://docs.docker.com/engine/reference/commandline/login/#credentials-store&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==容器关不了 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
问题 docker kill 也关不了 &lt;br /&gt;
&lt;br /&gt;
格式&lt;br /&gt;
ps aux | grep &amp;lt;&amp;lt;container id&amp;gt;&amp;gt; | awk &amp;#039;{print $1 $2}&amp;#039;&lt;br /&gt;
sudo kill -9 &amp;lt;&amp;lt;process id from above command&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eg &lt;br /&gt;
&lt;br /&gt;
root@--test:~# ps aux | grep  279c53f5b89b | awk &amp;#039;{print $1 $2}&amp;#039;&lt;br /&gt;
root4986&lt;br /&gt;
root11314&lt;br /&gt;
root11350&lt;br /&gt;
root@-test:~# kill -9 4986&lt;br /&gt;
root@lxtx-cailuw-test:~# kill -9 4986 11314 11350 &lt;br /&gt;
-bash: kill: (4986) - No such process&lt;br /&gt;
-bash: kill: (11350) - No such process&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/813d8362d497 Docker stop或者Docker kill为何不能停止容器]&lt;br /&gt;
&lt;br /&gt;
https://www.cnblogs.com/shoufu/p/12978843.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Error pulling image (2.8.21) from redis, endpoint: https://registry-1.docker.io/v1/, Get https://registry-1.docker.io/v1/images/1a721decd792ad1d3c4ebc315d34b1f8d4dfb97e6d8013efe6c523e637361bd6/ancestry: read tcp &lt;br /&gt;
1a721decd792: Error pulling image (2.8.21) from redis, Get https://registry-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
修改Docker配置文件/etc/default/docker如下：&lt;br /&gt;
&lt;br /&gt;
DOCKER_OPTS=&amp;quot;--registry-mirror=http://aad0405c.m.daocloud.io&amp;quot;&lt;br /&gt;
使用service docker restart重启Docker服务即可。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
解决docker x509: certificate has expired or is not yet valid&lt;br /&gt;
把系统时间改回来就行了 &lt;br /&gt;
&lt;br /&gt;
ntpdate cn.pool.ntp.org #同步一下时间&lt;br /&gt;
17 Apr 17:40:45 ntpdate[32206]: step time server 202.112.29.82 offset 5262859.193967 sec&lt;br /&gt;
&lt;br /&gt;
date “+%Y-%m-%d” #时间同步成功&lt;br /&gt;
2015-04-17&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Centos7 NTP网络时间协议]]&lt;br /&gt;
&lt;br /&gt;
== err see also==&lt;br /&gt;
[https://www.jianshu.com/p/088c67a41f3c 解决docker x509: certificate has expired or is not yet valid]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/followyou/p/10315717.html docker及服务器遇到的坑]&lt;br /&gt;
&lt;br /&gt;
=references=&lt;br /&gt;
&lt;br /&gt;
[https://www.bilibili.com/video/BV14s4y1i7Vf?p=9&amp;amp;vd_source=e3e41ea2b1d70e0e3a6a0372ee88d714 B站30分钟Docker入门教程]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Docker国内镜像的配置及使用]]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/HH2030/article/details/80994237 docker 的常用参数和解析]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/Michel4Liu/article/details/80889977 docker常规操作——启动、停止、重启容器实例]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.linuxprobe.com/docker-flocker.html Docker容器和数据可视化管理工具Flocker]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/halcyonbaby/article/details/46919519 Flocker浅析与Docker插件（1）]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/halcyonbaby/article/details/47285019 Flocker浅析与Docker插件（2）]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/jicki/p/5827048.html Flocker 做为后端存储代理 docker volume-driver 支持]&lt;br /&gt;
&lt;br /&gt;
[https://www.infoq.cn/article/2015/07/Docker-ClusterHQ-Flocker 打包 Docker 与数据，Flocker 实现整体轻松迁移]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://dockone.io/article/840 Docker 1.9 Overlay Network实现跨主机网络互通]&lt;br /&gt;
&lt;br /&gt;
[[Docker笔记]]&lt;br /&gt;
&lt;br /&gt;
 [[category: container]]&lt;br /&gt;
[https://www.w3cschool.cn/docker/docker-tutorial.html Docker 入门实战]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://blog.linuxchina.net/?p=2395 coreos-installing-to-disk]&lt;br /&gt;
&lt;br /&gt;
[http://dockone.io/article/152 Docker run 命令的使用方法]&lt;br /&gt;
&lt;br /&gt;
[https://yq.aliyun.com/articles/40494?spm=a2c4e.11153959.teamhomeleft.23.114118b1ZMdrg6# Docker学习路线图 (持续更新中)]&lt;br /&gt;
&lt;br /&gt;
[https://segmentfault.com/q/1010000015802409 grep 不能过滤持续的 log]&lt;br /&gt;
&lt;br /&gt;
[http://yaxin-cn.github.io/Docker/how-to-delete-a-&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>