三撇虎 發表於 2023-8-21 16:09:00

一、Docker与Docker Compose 安装入门教程 - Debian / Ubuntu 配置国内镜像源方法

<p><strong>什么是 Docker</strong>?它是一种类似轻量级虚拟化容器技术的<strong>开源</strong>项目,能将复杂的应用程序打包成“镜像”,供用户快速拉取部署,以独立“容器”的形式在<strong>服务器</strong>或本机上运行。</p>
<p><img src="https://img2023.cnblogs.com/blog/690758/202308/690758-20230821153931402-1283029072.webp" alt="image" loading="lazy"></p>
<p>以普通用户的角度看待的话,<strong>Docker</strong> 部署的程序 (容器) 就像更加高级的“绿色版”工具一样,每款应用运行时都“拥有自己私有的虚拟化环境”,多个容器之间不会互相影响,也不会影响宿主机器,相互隔离,使用起来非常安全方便,优点非常多。</p>
<h2 id="docker-和虚拟机有什么区别">Docker 和虚拟机有什么区别?</h2>
<p>比起传统的虚拟机 (比如 VMWARE、Parallels Desktop 等),在运行应用程序前,还要模拟运行一整套底层的操作系统相比,Docker 则是通过“隔离”的技术来实现环境虚拟化的,实际上用同一个 Linux 内核去跑应用,节省掉模拟操作系统所耗费的巨大资源以及模拟的性能损耗,从而使得应用程序的运行速度和原生安装几乎一样。</p>
<p>Docker 既解决复杂部署和运维的问题,又以轻量虚拟化实现了程序之间的隔离,性能上还没有任何明显的损失,等等的好处使得 Docker 成为了当今最主流和最热门的技术!所以无论是在服务器、NAS 上要安装什么软件,大多数时候都会推荐使用 Docker 进行部署。</p>
<h3 id="debian--ubuntu--centos-简单安装-docker-教程">Debian / Ubuntu / CentOS 简单安装 Docker 教程</h3>
<p>那么下面,我们就一起来看看,<strong>怎么样在 Linux 上安装 Docker 吧</strong>!教程以 Debian、Ubuntu 作为例子,其实 CentOS、Fedora 类也基本一样。大家动动手就能轻松搞定 Docker,并用它来部署安装各种各样的项目了。</p>
<pre><code class="language-bash">#切换到 Root 账户
su root

# 建议先升级一下系统 (Ubuntu / Debian 系)
apt-get update
apt-get upgrade
# 如果你是 CentOS、红帽系列则使用:
yum update
yum upgrade

# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
</code></pre>
<h2 id="docker-更换配置国内镜像">Docker 更换配置国内镜像</h2>
<p>使用 Docker 构建和部署应用程序时,几乎都需要下载一些基础镜像和依赖库。但由于国内网络比较特殊,想要从官方的 Docker Hub 仓库下载会极其缓慢,甚至会出现连接超时、无法下载等情况。为了解决网络问题,我们需要配置使用国内的镜像仓库,来加快镜像的下载速度。</p>
<blockquote>
<h3 id="创建或修改-etcdockerdaemonjson-文件">创建或修改 /etc/docker/daemon.json 文件</h3>
</blockquote>
<pre><code class="language-bash">vim /etc/docker/daemon.json
</code></pre>
<blockquote>
<h3 id="json-文件的内容如下">json 文件的内容如下</h3>
</blockquote>
<pre><code class="language-bash">{
    "registry-mirrors": [
      "https://hub-mirror.c.163.com​",
      "https://mirror.baidubce.com​",
      "https://dockerproxy.com",
      "https://docker.nju.edu.cn"
    ]
}
</code></pre>
<p>在国内其实有多个 Docker 镜像源可以选择,比如有:网易镜像、百度云镜像、而之前一些比较多人用的 ustc 中科大等镜像已经停止对公众开放了,阿里云镜像的版本很久已不更新也不推荐,大家有好用的镜像也可以推荐提交一下。</p>
<blockquote>
<h3 id="修改之后重启-docker-服务">修改之后重启 Docker 服务</h3>
</blockquote>
<pre><code class="language-bashe">sudo systemctl daemon-reload
sudo systemctl restart docker
</code></pre>
<h2 id="docker-常用操作命令">Docker 常用操作命令:</h2>
<p>安装 Docker 之后,你就可以使用一些命令进行操作了。</p>
<blockquote>
<h3 id="下载并运行镜像">下载并运行镜像</h3>
</blockquote>
<pre><code class="language-bash">docker run -d -p 6379:6379 -v /host/dir:/my/test --name nginx nginx:latest
# 示例的参数解释
# -d 表示后台运行容器(守护式运行)
# -p 宿主机端口:docker容器端口,将容器端口映射到宿主机上,通过宿主机访问内部端口
# -v 将宿主机的目录挂载到容器中去,例子中是将主机的 /host/dir 挂载到容器中的 /my/test
# --name要运行的容器起的名字(--name xxx 与 --name=xxx 是一个意思)
# nginx:latest 指定下载的镜像以及版本
</code></pre>
<blockquote>
<h3 id="查看所有容器-id">查看所有容器 ID</h3>
</blockquote>
<pre><code class="language-bash">docker ps -aq
</code></pre>
<blockquote>
<h3 id="启动停止杀死重启一个容器">启动、停止、杀死、重启一个容器</h3>
</blockquote>
<pre><code class="language-bash">docker start Name或者ID
docker stop Name或者ID
docker kill Name或者ID
docker restart name或者ID
</code></pre>
<blockquote>
<h3 id="进入容器内部执行任意的命令">进入容器内部,执行任意的命令</h3>
</blockquote>
<pre><code class="language-bash">#docker exec :在运行的容器中执行命令
# -d :分离模式: 在后台运行
# -i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
# -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker exec -it 容器ID /bin/bash
</code></pre>
<blockquote>
<h3 id="停止所有容器">停止所有容器</h3>
</blockquote>
<pre><code class="language-bash">docker stop $(docker ps -a -q)
</code></pre>
<blockquote>
<h3 id="查看所有已下载的镜像">查看所有已下载的镜像</h3>
</blockquote>
<pre><code class="language-bash">docker images
</code></pre>
<blockquote>
<h3 id="删除指定镜像">删除指定镜像</h3>
</blockquote>
<pre><code class="language-bash">docker rmi &lt;image id&gt;
</code></pre>
<blockquote>
<h3 id="从容器复制文件到宿主机">从容器复制文件到宿主机</h3>
</blockquote>
<pre><code class="language-bash">ocker cp nginx:/web/js/file.js /host/path
# docker cp 容器名:容器文件的路径 宿主机的路径
</code></pre>
<blockquote>
<h3 id="从宿主机复制文件到容器">从宿主机复制文件到容器</h3>
</blockquote>
<pre><code class="language-bash">docker cp /host/path/file.js nginx:/web/js
# docker cp 宿主机的文件 容器名:容器里的路径
</code></pre>
<h2 id="docker-compose-安装">Docker Compose 安装</h2>
<pre><code class="language-bash"># 1、首先前往 https://github.com/docker/compose/releases/latest 查看最新的 docker-compose 版本号,比如截稿时最新版本为 2.1.1。

# 2、下载最新版本的 docker-compose,你需要将下面的 2.1.1 替换成最新的版本号
sudo curl -L "https://github.com/docker/compose/releases/download/2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 3、授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 4、测试是否安装成功(可能需要重启系统)
docker-compose -v
# 安装成功会显示 docker-compose 版本
</code></pre>
<p>Docker 的操作有很多,大家可以查看官方的文档或找找网上的教程。一些如 群晖 NAS、QNAP 等都会提供类似 Container Station 等图形界面方便操作。你也可以在 Linux 上部署 Portainer 等 WEB 界面来使用。当然了,如果喜欢,多学习一下 Docker 的命令行操作其实也是不错的。</p><br><br>
来源:https://www.cnblogs.com/shyurongli/p/17646208.html
頁: [1]
查看完整版本: 一、Docker与Docker Compose 安装入门教程 - Debian / Ubuntu 配置国内镜像源方法