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

【Docker入门】构建推送第一个Docker映像

【Docker入门】构建推送第一个Docker映像

Build and Push the First Docker Image

By Jackson@ML

Docker的容器(Container)映像是轻量级的可执行独立包,包含代码、运行时、库、环境变量以及配置文件,它对于运行软件至关重要。注册表可在团队间分享映像。

Docker Hub完成主机及接入容器映像,能够轻易存储和共享。

让我们一起来看,如何创建注册表以及推送一个映像吧。

1. 搭建基本开发环境

1) 安装Visual Studio Code

在官网链接:https://code.visualstudio.com/ ,如下图:

在这里插入图片描述
具体安装使用步骤,请参见文章:2024最新版Visual Studio Code安装使用指南

2) 安装Docker Extension

在VS Code中,左侧Extension里,搜索并安装Docker Extension(Microsoft发布);安装完成如下图。

在这里插入图片描述

2. 在Docker Hub创建一个repository

1) 登录Docker Hub

在Web页面导航搜索 hub.docker.com,从 Web登录Docker;如果没有账户,需要先行注册一个,再登录到Docker Hub。

登录后如下图所示:
在这里插入图片描述

2) 创建Repository

点击页面Create a repository,进入创建页面,如下图所示:

在这里插入图片描述
需验证Email。到邮箱检查新邮件; 在邮箱邮件中,点击Verify Email,验证邮箱并返回Docker Hub页面。

再次点击Create Repository,进入创建页面,如下图所示:

在这里插入图片描述

按照默认选项,选定Public类型repository,并且输入repository名称(例如: getting-started-todo-app),加备注(也可不加)后,点击Create创建。

3. 操作Docker Desktop

创建repository完毕,返回Docker页面。

本次实验示例为welcome to docker, 因此,创建好的新的repository路径为:/welcome-to-docker.

至此,完成创建repository!

返回到Visual Studio Code,并确保已安装Docker Extension。

4. 下载项目

1) 下载示例项目

在VS Code的终端窗口,使用git clone下载样例项目welcome-to-docker,执行命令如下:

$ git clone https://github.com/docker/welcome-to-docker 

执行结果如下:
在这里插入图片描述
切换到该项目文件夹:

$ cd welcome-to-docker
2) 验证Dockerfile

在VS Code项目文件夹里,有一个Docker file文件,打开它验证。

右键单击Dockerfile,选择Build Image…, 如下图:

在这里插入图片描述
在VS Code页面弹出选择默认dockerproject对话框,按Enter键开始构建,如下图。

在这里插入图片描述
现在,有了一个运行中的映像。
在Docker Desktop中可以看到,如下图:

在这里插入图片描述
看到welcome to docker映像,用鼠标点击后面的端口号(Port)8088:80链接,重定向到浏览器中,显示出Docker欢迎网页,“Congratulations!!!” ,如下图所示。

在这里插入图片描述

Docker映像构建完毕!技术好文陆续推出,敬请关注和点赞。👍

您的认可,我的动力!😃

相关阅读:

  1. 【AWS入门】Amazon S3简介
  2. 【AWS入门】Amazon EC2简介
  3. 【AWS入门】 AWS云计算简介
  4. 【AWS入门】创建并使用AWS Builder ID
  5. 【AWS入门】2025 AWS亚马逊云科技账户注册指南
  6. 【Docker入门】用Docker启动项目
  7. 2025最新版Docker安装使用指南

相关文章:

  • HCIA-PPP实验
  • 将字符串中的小写字母转换成大写字母(信息学奥赛一本通-1138)
  • unity中 添加dll 报错 DllNotFoundException
  • 【Linux编程】IPC之消息队列从踩坑到实战:核心原理、实战案例与C++封装详解(含完整代码)
  • Tomcat、Open Liberty 和 WebSphere Application Server (WAS) 的配置、调试和跟踪
  • 嵌入式开发之STM32学习笔记day07
  • PCIe(Peripheral Component Interconnect Express)详解
  • docker 命令里 --restart=unless-stopped 参数的作用
  • Android 13 Launcher3最近任务列表“全部清除“按钮位置优化实战
  • Spring(7)——MyBatis入门(1)
  • 7、vue3做了什么
  • Java 大视界 -- Java 大数据在智能家居设备联动与场景自动化中的应用(140)
  • 关系数据库设计理论
  • Android Fresco 框架兼容模块源码深度剖析(六)
  • 在鸿蒙Next中开发一个月历组件
  • AcWing 3533:查找第K小数 ← sort+unique
  • Linux并发程序设计(5):线程的相关操作
  • 高频SQL 50 题(持续更新)
  • Deepseek X 文心智能体:谐音梗广告创意大师
  • vue3 函数式弹窗
  • 这个东西每道菜里都有,却可能让你得一身病,做好这些能避免
  • 贵州茅台:支持工作餐不上酒的规定,请投资者相信茅台创新和自我调节能力
  • 去年六成中小企业营收保持上升或持平,发展环境持续优化
  • 水果预包装带来的环境成本谁来分担?
  • 种植耐旱作物、启动备用水源,甘肃各地多举措应对旱情
  • 特写|银耳种植“北移”到沧州盐山,村民入伙可年增收4万元