Linux 下的 Docker 安装与使用
<h1 id="一安装与配置">一、安装与配置</h1><h2 id="1安装依赖包">1.安装依赖包</h2>
<pre><code class="language-shell">sudo yum install -y yum-utils device-mapper-persistent-data lvm2
</code></pre>
<h2 id="2设置阿里云镜像源">2.设置阿里云镜像源</h2>
<pre><code class="language-shell">sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
</code></pre>
<h2 id="3安装-docker-ce">3.安装 Docker-CE</h2>
<ul>
<li>
<p>重建 Yum 缓存。</p>
</li>
<li>
<p>安装 Docker-CE ,请执行一下命令进行安装:</p>
</li>
</ul>
<pre><code>sudo yum install docker-ce
</code></pre>
<h2 id="4启动-docker-ce">4.启动 Docker-CE</h2>
<pre><code class="language-shell">sudo systemctl enable docker
sudo systemctl start docker
</code></pre>
<h2 id="5可选-为-docker-建立用户组">5.<em>[可选]</em> 为 Docker 建立用户组</h2>
<p>docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。</p>
<h3 id="1-建立-docker-用户组">1. 建立 Docker 用户组</h3>
<pre><code class="language-shell">sudo groupadd docker
</code></pre>
<h3 id="2添加当前用户到-docker-组">2.添加当前用户到 docker 组</h3>
<pre><code class="language-shell">sudo usermod -aG docker $USER
</code></pre>
<h2 id="6镜像加速配置">6.镜像加速配置</h2>
<p>这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 <strong>Docker Hub 镜像站点</strong> 可以找到专属加速器地址,复制下来。</p>
<p>然后执行以下命令:</p>
<pre><code class="language-shell">sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
</code></pre>
<p>之后重新加载配置,并且重启 Docker 服务</p>
<pre><code class="language-shell">systemctl daemon-reload
systemctl restart docker
</code></pre>
<h2 id="二配置-docker-容器与镜像">二、配置 Docker 容器与镜像</h2>
<h2 id="1拉取镜像">1.拉取镜像</h2>
<p>拉取微软在 Docker 上的 aspnetcore 镜像:</p>
<pre><code class="language-shell">docker pull microsoft/aspnetcore
</code></pre>
<p>之后执行以下命令查看是否拉取成功:</p>
<pre><code class="language-shell">docker images
</code></pre>
<p><img src="https://images2018.cnblogs.com/blog/1203160/201805/1203160-20180522113128586-2106901482.png" alt="" loading="lazy"></p>
<h2 id="三docker-常用命令">三、Docker 常用命令</h2>
<h3 id="1拉取镜像-1">1.拉取镜像</h3>
<pre><code class="language-shell">docker pull
</code></pre>
<h3 id="2删除容器">2.删除容器</h3>
<pre><code class="language-shell">docker rm <容器名 or ID>
</code></pre>
<h3 id="3查看容器日志">3.查看容器日志</h3>
<pre><code class="language-shell">docker logs -f <容器名 or ID>
</code></pre>
<h3 id="4查看正在运行的容器">4.查看正在运行的容器</h3>
<pre><code class="language-shell">docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。
</code></pre>
<h3 id="5删除所有容器">5.删除所有容器</h3>
<pre><code class="language-shell">docker rm $(docker ps -a -q)
</code></pre>
<h3 id="6停止启动杀死指定容器">6.停止、启动、杀死指定容器</h3>
<pre><code class="language-shell">docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
</code></pre>
<h3 id="7查看所有镜像">7.查看所有镜像</h3>
<pre><code class="language-shel">docker images
</code></pre>
<h3 id="8拉取镜像">8.拉取镜像</h3>
<pre><code class="language-shell">docker pull <镜像名:tag>
# 例如以下代码
docker pull sameersbn/redmine:latest
</code></pre>
<h3 id="9后台运行">9.后台运行</h3>
<pre><code class="language-shell">docker run -d <Other Parameters>
# 例如
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
</code></pre>
<h3 id="10暴露端口">10.暴露端口</h3>
<pre><code class="language-shell"># 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
</code></pre>
<h2 id="11映射数据卷">11.映射数据卷</h2>
<pre><code class="language-shell">docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
</code></pre>
<h2 id="四gui-管理配置">四、GUI 管理配置</h2>
<p>这里推荐使用 Portainer 作为容器的 GUI 管理方案。</p>
<p>官方地址:https://portainer.io/install.html</p>
<p>安装命令:</p>
<pre><code class="language-shell">docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
</code></pre>
<p>访问你的 IP:9000 即可进入容器管理页面。</p>
<p>如下:</p>
<p><img src="https://images2018.cnblogs.com/blog/1203160/201805/1203160-20180522113147787-933317436.png" alt="" loading="lazy"></p>
<p><img src="https://images2018.cnblogs.com/blog/1203160/201805/1203160-20180522113156864-1497234653.png" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/myzony/p/9071210.html
頁:
[1]