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 镜像加速器列表
镜像加速器 | 镜像加速器地址 | 专属加速器? | 其它加速? |
---|---|---|---|
https://registry.docker-cn.com | |||
DaoCloud 镜像站 | https://docker.m.daocloud.io | Docker Hub、GCR、K8S、GHCR、Quay、NVCR 等 | |
Azure 中国镜像 | https://dockerhub.azk8s.cn | 仅供内部访问 | Docker Hub、GCR、Quay |
科大镜像站 | https://docker.mirrors.ustc.edu.cn | 仅供内部访问 | Docker Hub、GCR、Quay |
阿里云 | https://<your_code>.mirror.aliyuncs.com | 需登录,系统分配 | Docker Hub |
https://reg-mirror.qiniu.com | |||
网易云 | https://hub-mirror.c.163.com | Docker Hub | |
腾讯云 | https://mirror.ccs.tencentyun.com | 仅供内部访问 | Docker Hub |
Docker 镜像代理 | https://dockerproxy.com | Docker Hub、GCR、K8S、GHCR | |
百度云 | https://mirror.baidubce.com | Docker Hub | |
南京大学镜像站 | https://docker.nju.edu.cn | Docker Hub、GCR、GHCR、Quay、NVCR 等 | |
上海交大镜像站 | https://docker.mirrors.sjtug.sjtu.edu.cn | Docker 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 镜像的一般步骤:
- 创建 Dockerfile 文件
vim Dockerfile
- 编写 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