常用命令
<h1>docker</h1>
<ul>
<li>查看docker版本:docker version</li>
<li>重启docker服务:systemctl restart docker</li>
<li>登录harbor: docker login <harbor ip></li>
<li>查看容器详细信息:docker inspect <容器名></li>
</ul>
<h2>镜像</h2>
<ul>
<li>查看镜像
<code>docker images</code></li>
<li>创建镜像
<code>docker build -t=&quot;&lt;镜像名&gt;:&lt;TAG&gt;&quot; -f &lt;dokerfile路径及文件名&gt; .</code></li>
<li>拉取镜像
<code>docker pull &lt;镜像名&gt;</code></li>
<li>上传镜像
<code>docker push &lt;harbor ip/项目名/镜像名:TAG&gt;</code></li>
<li>删除镜像
<code>docker rmi -f &lt;镜像名&gt;</code></li>
<li>查找镜像
<code>docker search &lt;镜像名&gt;</code></li>
<li>把镜像做成离线压缩包
<code>docker save -o &lt;包名&gt; &lt;镜像名&gt;</code></li>
<li>解压离线镜像包
<code>docker load -i &lt;包名&gt;</code></li>
</ul>
<h2>docker容器</h2>
<ul>
<li>查看当前系统上运行的容器
<code>docker ps</code></li>
<li>查看当前系统上所有容器
<code>docker ps -a</code></li>
<li>查看容器详细信息
<code>docker inspect &lt;容器名&gt;</code></li>
<li>启动/停止/重启容器
<code>docker start/stop/restart &lt;容器名&gt;</code></li>
<li>删除容器
<code>docker rm &lt;容器名&gt;</code></li>
<li>运行容器
<code>docker run -itd --name &lt;容器名&gt; [参数] &lt;镜像名:TAG&gt; /bin/bash</code>
[参数]
docker run 运行并创建容器
-i 交互式
-t 分配伪终端
-d 后台运行docker
-p 把容器端口随机在物理机映射一个端口</li>
</ul>
<p><strong>限制容器的资源:</strong></p>
<ol>
<li>限制cpu资源
--cpuset-cpus 给容器指定在哪个/哪几个cpu上运行。
例如:--cpuset-cpus 0,1 该容器在宿主机的CPU0和CPU1上运行
--cpu-shares 给容器指定占用CPU的权重,只有CPU资源紧张的时候才会用到。
例如:--cpus-shares 1024 该容器权重占比1024
<pre><code class="language-shell"> #运行容器docker10,该容器只在cpu1上运行,cpu权重为512。
docker run -itd --name docker10 --cpuset-cpus 0 --cpu-shares 512 centos /bin/bash</code></pre></li>
<li>限制内存大小:-m "<内存大小>" 或 --memory="<内存大小>"
<pre><code class="language-shell"> #运行一个只在cpu0和cpu1上运行且内存只有128MB的容器
docker run -it --cpuset-cpus 0,1 -m 128m centos </code></pre></li>
<li>限制磁盘IO
--device-read-bps <磁盘最高读速度,单位可以是K/M/G>
--device-write-bps <磁盘最高写速度,单位可以是K/M/G>
<pre><code class="language-shell"> #运行一个将本地目录/var/www/html/挂载到容器的/var/www/html/目录,指定容器设备/dev/sda为宿主机的/dev/sda,磁盘的写入速度最高2MB/s的容器
docker run -it -v /var/www/html/:/var/www/html --device /dev/sda:/dev/sda --device-write-bps /dev/sda:2mb centos /bin/bash </code></pre></li>
<li>容器运行结束自动释放资源:--rm
<pre><code class="language-shell"> #容器karen运行6秒后自动删除
docker run -it --rm --name karen centos sleep 6 </code></pre></li>
</ol>
<ul>
<li>进入容器
<code>docker exec -it &lt;容器名&gt; /bin/bash</code></li>
</ul>