当前位置: 首页 > news >正文

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 控制台

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

  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 解析缓存”。

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

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

http://www.lryc.cn/news/602970.html

相关文章:

  • 降低焊接机器人保护气体消耗的措施
  • Docker 部署 Supabase并连接
  • 记录自己第n次面试(n>3)
  • DAY-13 数组与指针
  • [ The Missing Semester of Your CS Education ] 学习笔记 Vim篇
  • 前端实现银河粒子流动特效的技术原理与实践
  • Linux 软件包管理详解:从命令到实战
  • 计算机网络编程-Socket通信以及实战
  • STM32 USB HOST 驱动FT232 USB转串
  • 安装anaconda后,如何进入python解释器
  • SSH 远程控制及相关工具
  • 常见的JVM虚拟机的参数详解
  • “量子通信”
  • 【C语言网络编程基础】TCP并发网络编程:io多路复用
  • 五自由度磁悬浮轴承转子:基于自适应陷波器的零振动攻克不平衡质量扰动的终极策略
  • linux du、df命令使用教程
  • 面向对象设计原则和设计模式分类
  • 开源AI智能体-JoyAgent集成Deepseek
  • C++模板元编程从入门到精通
  • [论文阅读] 人工智能 | 机器学习工作流的“救星”:数据虚拟化服务如何解决数据管理难题?
  • [机缘参悟-236]:通过AI人工神经网络理解人的思维特征:惯性思维、路径依赖、适应性、不同场合不同言行、经验、概率、常规与特殊情形(正态分布)、环境适应性
  • 5 分钟上手 Firecrawl
  • Java项目:基于SSM框架实现的社区团购管理系统【ssm+B/S架构+源码+数据库+毕业论文+答辩PPT+远程部署】
  • js的学习1
  • 如何理解有符号数在计算机中用​​补码​​存储
  • 阿里给AI To C战略戴上眼镜
  • 案例开发 - 日程管理 - 第三期
  • Android Handler 完全指南
  • 【QT搭建opencv环境】
  • 商城系统-项目测试