docker 入门,运行上传自己的首个镜像

发布于:2025-08-02 ⋅ 阅读:(15) ⋅ 点赞:(0)

第一步,下载安装 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 控制台

使用很简单,登录注册后进行实名认证就可以创建自己的镜像仓库了

  1. 新建仓库
    • 在容器镜像服务控制台,左侧菜单选择 个人实例(或企业实例),点击 创建镜像仓库
    • 填写仓库信息:
      • 命名空间:可新建(如 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 并查看:

ipconfig /flushdns

执行后会显示 “成功刷新 DNS 解析缓存”。

再次重新推送镜像,就可以解决问题了

推送成功后,进入自己的镜像仓库,查看镜像版本即可看到自己刚刚上传的镜像


网站公告

今日签到

点亮在社区的每一天
去签到