docker 入门,运行上传自己的首个镜像
第一步,下载安装 Docker Desktop
官网链接:Docker Desktop
我这里选择的是 Windows-AMD64
下载完毕后直接一直下一步即可
安装完毕后使用命令行输入 docker info 查看安装情况
第二步,配置镜像源
进入 Docker Desktop 设置界面
配置镜像仓库:
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://docker.1panel.live","https://docker-0.unsee.tech","https://docker.1panel.live","https://registry.dockermirror.com","https://docker.imgdb.de","https://docker.m.daocloud.io","https://hub.firefly.store","https://hub.littlediary.cn","https://hub.rat.dev","https://dhub.kubesre.xyz","https://cjie.eu.org","https://docker.kejilion.pro","https://docker.1panelproxy.com","https://docker.hlmirror.com","https://hub.fast360.xyz","https://ghcr.io"]
}
使用 docker info 查看镜像仓库信息,出现以上镜像源则配置成功
第三步,启动一个容器
使用前提:确保本地装了 git
在想要放入项目的目录中输入:
git clone https://github.com/docker/getting-started-todo-app
等待项目被下载到本地,进入该项目:
cd getting-started-todo-app
构建该项目:
docker compose watch
启动构建过程中可能会遇到 网络 DNS 问题,我就碰到了(没有出错的话则直接跳转到下一步,启动项目)
解决方案如下:
打开 docker-compose.yml
,在 services
下的 backend
服务中添加 dns
配置:
services:backend:# 其他配置...dns:- 114.114.114.114 # 国内通用 DNS,解决解析问题
重新构建并运行:
# 先停止并清理旧容器
docker compose down# 重新构建并启动
docker compose watch
项目构建成功后,启动该项目:
docker compose up -d
启动成功后,访问浏览器 localhost,能看到页面则表示容器启动成功
第四步,上传自己的镜像
由于 docker hub 镜像仓库访问比较慢,这里我推荐使用国内的镜像仓库:阿里云镜像服务
容器镜像服务 ACR 控制台
使用很简单,登录注册后进行实名认证就可以创建自己的镜像仓库了
- 新建仓库
- 在容器镜像服务控制台,左侧菜单选择 个人实例(或企业实例),点击 创建镜像仓库。
- 填写仓库信息:
- 命名空间:可新建(如
myfirstrepo
),用于归类仓库。 - 仓库名称:自定义(如
hello-docker
)。 - 仓库类型:选择 私有(仅自己可见)或 公有(公开访问)。
- 代码源:选择 本地仓库(手动推送)。
- 命名空间:可新建(如
- 点击 创建,完成仓库创建。
完成仓库的创建后就可以往仓库中 push 我们刚刚成功运行的镜像到自己的仓库中
docker build -t registry.cn-chengdu.aliyuncs.com/evn_breeze/hello-docker .
这里的 cn-chengdu以及 evn_breeze 和 hello-docker 分别是自己设置的地区,命名空间,以及仓库名称
构建成功后,找到刚刚代码仓库中的登录指令,复制到命令行登录阿里云代码仓库
然后开始推送:
docker push xxx.cn-chengdu.personal.cr.aliyuncs.com/evn_breeze/hello-docker:latest
其中的 xxx 是镜像的唯一标识
push 可能会遇到的问题(构建成功请忽略): 某些选项push不到镜像仓库中,我就碰到了
这个也是 DNS 解析出现了问题,解决方案:
操作步骤(Windows 系统):
- 打开 控制面板 → 网络和 Internet → 网络连接,右键点击当前使用的网络(如 “以太网” 或 “Wi-Fi”),选择 属性。
- 双击 Internet 协议版本 4(TCP/IPv4),选择 “使用下面的 DNS 服务器地址”,输入:
- 首选 DNS 服务器:
223.5.5.5
(阿里云 DNS) - 备用 DNS 服务器:
114.114.114.114
(国内通用 DNS)
- 首选 DNS 服务器:
- 点击 确定 保存设置。
在终端中刷新 DNS 并查看:
ipconfig /flushdns
执行后会显示 “成功刷新 DNS 解析缓存”。
再次重新推送镜像,就可以解决问题了
推送成功后,进入自己的镜像仓库,查看镜像版本即可看到自己刚刚上传的镜像