热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Docker打包镜像及修改配置的实现

这篇文章主要介绍了Docker打包镜像及修改配置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近在学习Docker和实际操作中遇到了不少问题,写篇博客记录一下。

安装

我安装的是windows版的docker desktop,在windows上用docker挺麻烦的,要配置一些东西,在windows上安装docker desktop。

安装完成后,以管理员身份运行一般都能跑起来,如果遇到 Docker Access Denied 报错打不开的情况,需要把计算机当前用户加入到docker-users用户组里面。

在这里插入图片描述

打开命令行工具输入下面命令检验docker是否安装成功:

在这里插入图片描述

甚至可以跑个hello-world:

在这里插入图片描述

打包镜像

我们都知道打包命令是 docker build ,除此之外,还需要一个 Dockerfile 文件,命令行打包就不介绍了,分享一个vscode插件,就叫Docker!

在这里插入图片描述

安装好了后侧边栏会多一个小鲸鱼,我们可以看到容器的状态和镜像,前提是docker desktop成功安装了。

在这里插入图片描述

然后在我们的 Dockerfile 文件上右键,点击 build image ,会提示你输入一个镜像的名称,然后回车就ok了。

在这里插入图片描述

运行容器并添加环境变量

有时项目正常运行需要依赖一些环境变量,我们可以通过 -e 指令添加:

docker run -p 4000:4000 -e env1=xxxx -e env2=yyyy ImageID

运行容器并自定义容器名称

我们运行两次 hello-world 后打开 docker desktop,可以发现每次运行的容器名称貌似是随机分配的

在这里插入图片描述

我们可以使用 –name 指定容器的名称:

docker run --name hello hello-world

运行结果:

在这里插入图片描述

Docker 修改 host

使用docker run运行一个新的容器的时候,通过参数 –add-host 来添加域名和IP信息到容器的/etc/hosts文件中:

docker run -p 8080:8080 --add-host=hostname:127.0.0.1 ImageID

导出镜像到本地

当我们开发把项目打包好镜像后,可能需要给运维或后端人员进行部署测试,可以使用 save -o 命令把镜像导出:

docker save -o .\保存的路径\镜像文件名 镜像

比如:
dicker save -o .\Desktop\hello.tar hello-world

个人觉得使用 docker hub 会更方便!

到此这篇关于Docker打包镜像及修改配置的实现的文章就介绍到这了,更多相关Docker打包镜像及配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 本文详细探讨了如何在Docker环境中实现单机部署Redis集群的方法,提供了详细的步骤和配置示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 本文探讨如何配置 Nginx 以将传入请求反向代理到运行在本地绑定端口上的 Docker 容器,并解决常见的路径重定向问题。 ... [详细]
  • 本文详细介绍了如何使用Docker运行最简单的镜像,并创建第一个容器。通过具体的操作步骤和命令解释,帮助初学者快速上手Docker。完整课程请点击:Docker入门教程。 ... [详细]
  • 深入解析Docker镜像的工作机制
    本文旨在深入探讨Docker镜像的内部结构及其工作机制,包括镜像的分层体系、联合文件系统(UnionFS)的应用,以及各层如bootfs和rootfs的具体作用。 ... [详细]
  • Docker 自定义网络配置详解
    本文详细介绍如何在 Docker 中自定义网络设置,包括网关和子网地址的配置。通过具体示例展示如何创建和管理自定义网络,以及容器间的通信方式。 ... [详细]
  • 深入理解Docker网络管理
    本文介绍了Docker网络管理的基本概念,包括为什么需要Docker网络管理以及Docker提供的多种网络驱动模式。同时,文章还详细解释了Docker网络相关的命令操作,帮助读者更好地理解和使用Docker网络功能。 ... [详细]
author-avatar
方家菱芝合
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有