【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安装使用指南

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【eNSP实战】(续)一个AC多个VAP的实现—将隧道转发改成直接转发

在 一个AC多个VAP的实现—CAPWAP隧道转发 此篇文章配置的基础上,将隧道转发改成直接转发 一、改成直接转发需要改动的配置 (一)将连接AP的接口改成trunk口,并允许vlan100、101、102通过 [AC1]interface GigabitEthernet 0/0/8 …

SPI 总线协议

1、协议介绍 SPI,是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola 首先在其 MC68HCXX 系列处理器上定义的。 SPI,是一种高速的,全双工,同步的通信总线。主节点或子节点的数据在…

我爱学算法之——滑动窗口攻克子数组和子串难题(上)

现在来学习"滑动窗口"这一算法思想。 至于什么是"滑动窗口"呢?简单来说就是同向双指针;现在来通过题目来了解什么是"滑动窗口" 一、长度最小的子数组 题目链接:长度最小的子数组 题目解析 先来看题目&#…

ora-600 ktugct: corruption detected---惜分飞

接手一个oracle 21c的库恢复请求,通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)脚本检测之后,发现undo文件offline之后,做了resetlogs操作,导致该文件目前处于WRONG RESETLOGS状态 尝试恢复数据库ORA-16433错误 SQL> recover datafile 1; ORA-00283:…

20. Excel 自动化:Excel 对象模型

一 Excel 对象模型是什么 Excel对象模型是Excel图形用户界面的层次结构表示,它允许开发者通过编程来操作Excel的各种组件,如工作簿、工作表、单元格等。 xlwings 是一个Python库,它允许Python脚本与Excel进行交互。与一些其他Python库&#x…

IIS 服务器日志和性能监控

Internet Information Services (IIS) 是 Microsoft 提供的一款功能强大、灵活且可扩展的 Web 服务器,用于托管网站、服务和应用程序。IIS 支持 HTTP、HTTPS、FTP、SMTP 和更多用于提供网页的协议,因此广泛用于企业环境。 IIS 的…

jenkins pipline 自动化测试

以下是一个典型的 Jenkins Pipeline 示例,用于执行自动化测试流程(支持单元测试、集成测试、代码质量扫描),包含多阶段执行和测试结果处理: pipeline {agent anyenvironment {// 定义环境变量PROJECT_NAME "my-…

APP测试

一、APP测试范围 功能测试性能测试:CPU、内存占用、启动速度、流量、电量消耗、流畅度、稳定性专项测试:安装卸载升级、push消息推送 、交叉事件测试 、用户体验测试 、兼容性测试 二、APP包发布方式及策略 分类: 内部发布渠道。如&#x…

12 File文件对象:创建、获取基本信息、遍历文件夹、查找文件;字符集的编解码 (黑马Java视频笔记)

文章目录 File >> 存储数据的方案1. 认识File2. File操作2.1 创建File对象2.2 File操作1)对文件对象的信息的操作2)文件/文件夹的创建/删除3)⭐⭐对文件夹的遍历 3. 方法递归3.1 认识递归3.2 递归算法及其执行流程1) 案例:2…

oracle 基础知识之 多表查询

多表查询定义:当查询的数据并不是来源一个表时,需要使用多表连接操作完成查询。多表连接查询通过表之间的关联字段,一次查询出多个表的数据。多表查询包括了等值连接、左连接、右连接、完全连接。 1.等值连接 等值连接也称为简单连接&#xf…

服务器防火墙根据什么特征来过滤数据包?

防火墙是服务器安全防护的第一道屏障,它的主要作用是监控、过滤和控制进出服务器的数据流量,防止恶意攻击、非法访问和数据泄露。防火墙通过分析数据包的特定特征来决定是否允许、拒绝或限制数据的传输。 服务器防火墙的基本工作原理: 防火墙…

Prims region.Views 为null

原因: 导航未完成或异步问题 解决方式:使用回调确认导航完成后再操作视图 _regionManager.RequestNavigate("MonitorRegion", "MonitorView", nps, navigationResult > {if (navigationResult.Result true){var region _regio…

reconstruct_3d_object_model_for_matching例子

文章目录 1.获取om3文件2.准备可视化3.准备3D可视化4.读取3D模型5.显示成对注册结果16.显示成对注册结果27.联合注册模型8.处理图像8.1子采样8.2 图像计算与平滑8.3 三角测量 9.基于表面做3D匹配10.评估模型准确度10.1 在场景中找到模型10.2 计算模型和场景之间的距离 11.立体系…

软件安全性测试的重要性和常用工具介绍,软件测试服务公司推荐

在当今数字化快速发展的时代,软件已经成为各行各业不可或缺的一部分。然而,随着软件系统的复杂性增加,安全性问题也愈发突出,因此软件产品生产周期中安全测试必不可少。软件安全性测试是指对软件系统进行评估,以发现潜…

Redis项目:短信验证码登录

这是黑马的黑马点评项目,短信验证码的业务。一开始是使用session做的,后来重构,使用redis缓存来完成。 第一层拦截器: public class RefreshTokenInterceptor implements HandlerInterceptor {private StringRedisTemplate stri…

Docker下载,包含Win、Mac

介绍 Docker 是一种开源的容器化平台,通过操作系统级虚拟化技术实现应用的快速开发、部署和运行。以下从多个维度对 Docker 进行详细介绍: 一、Docker 的核心概念与功能 容器化技术 Docker 利用 Linux 内核的容器隔离技术(如 Cgroups 和 Nam…

使用 ESP8266 和 Android 应用程序实现基于 IOT 的语音控制家庭自动化

使用 ESP8266 实现基于 IOT 的语音控制家庭自动化 欢迎来到另一个令人兴奋的项目,我们将使用 Wi-Fi 模块构建一个语音控制ESP8266家庭自动化系统,您可以在其中通过语音通过 Android 应用程序从世界任何地方控制您的家用电器。是的,您只需使用语音命令即可打开或关闭负载(L…

【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解

【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解 一、三者的区别与关系 1. 官方迭代过程为: CustomDialog 》 OpenCustomDialog 》 DialogHub 迭代过程表明,弹框的调用越来越便捷,与UI解耦&…

【C++】stack和queue的使用及模拟实现(含deque的简单介绍)

文章目录 前言一、deque的简单介绍1.引入deque的初衷2.deque的结构3.为什么选择deque作为stack和queue的底层默认容器 二、stack1.stack的介绍2.stack的使用3.stack的模拟实现 三、queue1.queue的介绍2.queue的使用3.queue的模拟实现 前言 一、deque的简单介绍(引入…

Leetcode 刷题笔记1 图论part01

图论的基础知识: 图的种类: 有向图(边有方向) 、 无向图(边无方向)、加权有向图(边有方向和权值) 度: 无向图中几条边连接该节点,该节点就有几度&#xff1…