docker 生成镜像的几个问题

这篇具有很好参考价值的文章主要介绍了docker 生成镜像的几个问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

根据jdk8.tar.gz 打包Jdk8 镜像失败

首选做准备工作

  • ① 新建一个空的目录(以jdktemp为例),然后在目录中新建一个文件,命名为Dockerfile

  • ② 拷贝课前资料提供的 jdk8.tar.gz 到这个目录中

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维

  • ③ 编写Dockerfile文件:

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维
docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维

From centos

MAINTAINER gnauhsil

RUN mkdir /usr/local/jdk8

ADD jdk8.tar.gz /usr/local/jdk8

ENV JAVA_HOME /usr/local/jdk8/jdk1.8.0_144

ENV JRE_HOME /usr/local/jdk8/jdk1.8.0_144/jre

ENV PATH $JAVA_HOME/bin:$PATH

  • a )基于java:8-alpine作为基础镜像

  • b )将app.jar拷贝到镜像中

  • c )暴露端口

  • d )编写入口ENTRYPOINT

  • ④ 使用docker build命令构建镜像

  • ⑤ 使用docker run创建容器并运行

步骤6:运行命令:生成镜像

docker build -t java:8-alpine .  (不要忘记这个点.)

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维
之后会生成镜像,如上图所示: 使用 docker images命令进行查看

镜像生成成功以后可以使用命令先进入到容器中运行 java -version命令看能否成功,先前编写的 Dockerfile文件的版本号错误导致报错 :bash: java: command not found

docker run -it java:8-alpine  /bin/bash
 java -version

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维
进入容器以后 ctrl + d 可以退出容器命令模式

运行容器

docker run -dit --name java8 java:8-alpine

进入容器以后 ctrl +d 可以退出容器

运行镜像报错差不多是网络ip错误,在网上说重启docker即可解决

systemctl restart docker

相关链接:https://blog.csdn.net/ystyaoshengting/article/details/102543163

docker run --name web -p 8090:8090 -d javaweb:1.0
c4489a0b442af92f597ac80476ea4d6de7e0b5993446d9f07bd799412442ae2d
docker: Error response from daemon: driver failed programming external connectivity on endpoint web (3800bd001b28af0ef6d80ec954cd012e98dda038804ada3817a7a4ecffb8fec0): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8090 -j DNAT --to-destination 172.17.0.6:8090 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).

运行mysql5.7.25 镜像失败

docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql5 (25d97ccf16344797d0d679b9f3d0d27fe29a769f2c311b3390900d591065d2e5): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.

抱以上错误,原因是我的docker环境是后装的,在原来的虚拟机上已经有mysql服务占用了3306端口所以导致镜像无法运行成为容器。把原来的mysql服务停用就可以了。

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维

systemctl status mysqld.service  (查看服务状态)

systemctl stop mysqld.service    (关闭服务,对应的端口自然也就没有服务占用了)

systemctl disable mysqld.service  (关闭服务开机自启动)
docker run -d --name mysql5 -p 3306:3306 -v /tmp/mysql/data:/var/lib/mysql -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -e MYSQL_ROOT_PASSWORD=123 mysql:5.7.25

启动成功:
docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维

向daemon.json文件添加内容导致docker重启失败

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维
docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维
原因就在于daemon.json文件是一个JSON文件 添加内容时需要加一个 ,(逗号) 忘了加

重加载

systemctl daemon-reload

重启docker

systemctl restart docker

docker run 命令常用参数

docker 生成镜像的几个问题,IDEA-Java各开发环境安装和常见问题解决,docker,容器,运维

–start always 跟随docker一起启动

相关参考链接:https://blog.csdn.net/qq_47346664/article/details/119887657文章来源地址https://www.toymoban.com/news/detail-700146.html

到了这里,关于docker 生成镜像的几个问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 说说Java基础的几个问题

    1.说下面向对象四大特性 封装、继承、多态、抽象。 2.Java语言有哪些特点 简单易学(Java语言的语法与C语言和C++语言很接近) 面向对象(封装,继承,多态) 平台无关性(Java虚拟机实现平台无关性) 支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的)

    2024年02月12日
    浏览(33)
  • WordPress恢复时候遇到的几个问题

    1,一键安装 LAMP 最好是选择 CentOS 这种成熟的系统,最开始用 Alibaba Linux 报了好几个错,懒得折腾,最后重置镜像了。 https://lnmp.org/ 2,安装完 LAMP 之后,如果选择的 WordPress 版本太高,可能需要单独升级 php。 3,按照网上教程,例如这个,完成之后注意可能找不到 Nginx 的路

    2024年02月06日
    浏览(49)
  • chatGPT 答错了好几个问题!

    大家都知道现在 chatGPT 已经在多个领域展现了及其强大的工地,比如文案策划,毕业论文方便,甚至很多程序员都直接让 chatGPT 帮忙写代码了,在一些模板化的代码方面,chatGPT 更展示了优秀的能力。 所以我突然迸发了一个想法,我让 chatGPT 教我学一下操作系统怎么样? 这里

    2023年04月26日
    浏览(40)
  • workerman开发者必须知道的几个问题

    1、windows环境限制 windows系统下workerman单个进程仅支持200+个连接。 windows系统下无法使用count参数设置多进程。 windows系统下无法使用status、stop、reload、restart等命令。 windows系统下无法守护进程,cmd窗口关掉后服务即停止。 windows系统下无法在一个文件中初始化多个监听。 lin

    2023年04月27日
    浏览(46)
  • 板材激光切割机切割穿孔时注意的几个问题

    激光切割设备广泛应用于钣金、五金制品、钢结构、汽车配件、广告、工艺品等行业,成为加工行业不可缺少的环节。在厚板加工中穿孔时间占很大比重,随着加工板材越来越厚,板材激光切割机切割穿孔也会相应地增加难度。 激光切割机两种常见的穿孔方法 爆破穿孔 材料

    2024年02月05日
    浏览(42)
  • 解决android studio中页面闪退的几个问题

    1.如果在新建页面时闪退,解决方法如下 先去miantext里面检查是否注册了当前页面,如果没有注册,需在maintext里面机型注册 如下图(一般来说,AS在新建activity时会自动注册) 如下图 或者alt+enter-Add activity to manifest 可解决问题 2.点击按钮时闪退  如果我的按钮想实现点击跳转

    2024年02月11日
    浏览(42)
  • 关于EMC Unity 存储系统DIMM内存的几个问题

    下面是客户咨询最多的几个关于EMC Unity的DIMM内存的问题,供大家参考。 1.  Unity存储能否自己扩容内存 有客户觉得Unity存储的内容太小,想自己扩容内存,很朴实的想法,原来是每个控制器3条16gb,能不能升级到3条32gb或者4条64gb,直接到顶配。 这个回答是肯定不可以,其实对

    2024年02月10日
    浏览(50)
  • 了解无线路由器组建无线网络应该注意的几个问题

    无线网络已经不断的深入到我们的日常生活中,基本每多家庭都搭建了一个无线网络,本文以TP-link路由器为例,介绍在组建无线网时,我们应该注意到哪些问题和可以使用的一些技巧,主要以一些实例来详细解说。 一、影响无线网性能的因素 1、传输功率:无线路由发送功率

    2024年02月05日
    浏览(47)
  • ADC 动态参数分析matlab code的几个问题(span,spanh取值问题,幅度比例因子的添加等)

    目前内外网自用ADC动态参数计算的matlab程序都是同一套模板的改版,存在共同的问题,迟迟没有得到解决,也困扰了我几天,不过还好,最终搞明白了几点。         目前看到的各种文章,很多都可以追溯到2002年的这篇文章: https://www.maximintegrated.com/en/design/technical-document

    2023年04月19日
    浏览(37)
  • PLC有没有前途,作为从电气工程行业转行出来的人简单说几个问题

    1,如果年轻可以试试,如果年纪大了最好不要,国内的企业这个行业加班很多的。刚毕业可以混个10年左右,后面就很难了。最好根据自己的年级看是否转这个行业。 2,如果为了高一点的工资,养家糊口,也可以选着plc,这个行业工资一般,但是如果工程师等级上来,后面

    2024年02月07日
    浏览(123)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包