Docker

Docker 是一种开源的容器化平台,旨在简化应用程序的开发、部署和管理过程。容器是一种轻量级、独立的运行环境,可以包含应用程序及其依赖项,以便在不同的计算机上可靠地运行。Docker 提供了一种封装和分发应用程序的方法,使其在不同的环境中表现一致。

Docker 已经成为现代应用程序开发和部署的标准工具之一,广泛用于构建和管理微服务、云原生应用、持续集成/持续交付(CI/CD)流水线等。它简化了开发团队的工作流程,提高了应用程序的可移植性和可维护性。

安装docker

国内环境安装docker命令

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

这两个选择其中一个执行即可

curl -sSL https://get.daocloud.io/docker | sh

启动docker,检查docker是否正常

systemctl start docker
docker info

docker 国内代理

在国内的同学需要配置docker代理地址,不然会出现镜像下载缓慢的情况

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF

重新加载docker

sudo systemctl daemon-reload
sudo systemctl restart docker

Docker Hub 镜像加速器列表

镜像加速器镜像加速器地址专属加速器其它加速
Docker 中国官方镜像open in new windowhttps://registry.docker-cn.comDocker Hub已关闭open in new window
DaoCloud 镜像站open in new windowhttps://docker.m.daocloud.ioDocker Hub、GCR、K8S、GHCR、Quay、NVCR 等
Azure 中国镜像open in new windowhttps://dockerhub.azk8s.cn仅供内部访问Docker Hub、GCR、Quay
科大镜像站open in new windowhttps://docker.mirrors.ustc.edu.cn仅供内部访问open in new windowDocker Hub、GCRopen in new windowQuayopen in new window
阿里云open in new windowhttps://<your_code>.mirror.aliyuncs.com需登录,系统分配Docker Hub
七牛云open in new windowhttps://reg-mirror.qiniu.comDocker Hub、GCR、Quay
网易云open in new windowhttps://hub-mirror.c.163.comDocker Hub
腾讯云open in new windowhttps://mirror.ccs.tencentyun.com仅供内部访问Docker Hub
Docker 镜像代理open in new windowhttps://dockerproxy.comDocker Hub、GCR、K8S、GHCR
百度云open in new windowhttps://mirror.baidubce.comDocker Hub
南京大学镜像站open in new windowhttps://docker.nju.edu.cnDocker Hub、GCR、GHCR、Quay、NVCR 等
上海交大镜像站open in new windowhttps://docker.mirrors.sjtug.sjtu.edu.cnDocker Hub、GCR 等

⚠️ 部分网友反馈以下镜像站存在未同步最新源镜像问题,请按需选用

  • 阿里云

检查加速器是否生效

命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors:
 [...]
 https://docker.m.daocloud.io

Docker Hub 镜像测速

使用镜像前后,可使用 time 统计所花费的总时间。测速前先移除本地的镜像!

$ docker rmi node:latest
$ time docker pull node:latest
Pulling repository node
[...]
real   1m14.078s
user   0m0.176s
sys    0m0.120s

docker 命令

Dockerfile 构建镜像

Dockerfile 是用于构建 Docker 镜像的文本文件,它包含了一系列的指令和配置,描述了如何创建一个镜像。以下是创建 Docker 镜像的一般步骤:

  1. 创建 Dockerfile 文件
vim Dockerfile
  1. 编写 Dockerfile: 打开文本编辑器,创建一个名为 Dockerfile 的文件,并按照以下示例的一般结构来编写
# 基础镜像
FROM base_image

# 设置工作目录
WORKDIR /app

# 复制应用程序代码到容器中
COPY . .

# 安装依赖项
RUN apt-get update && apt-get install -y dependencies

# 定义容器启动命令
CMD ["command_to_run_app"]

常见指令:

  • FROM:指定基础镜像
  • RUN:执行命令
  • COPY:复制文件
  • ADD:更高级的复制文件
  • CMD:容器启动命令
  • ENV:设置环境变量
  • EXPOSE:暴露端口

docker 镜像操作

检索镜像

docker search 关键字

拉取镜像

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

列出镜像

docker image ls
docker images

删除镜像

docker rmi <镜像Id> or <镜像name>

导出镜像

docker save

导入镜像

docker load
Last Updated:
Contributors: jobcher