docker踩坑记录

踩坑记录

1.1 后台启动容器,实际没有启动

现象: 后台启动centos,结果执行docker ps命令,容器没启动。
在这里插入图片描述
原因: docker是以容器启动的,必须要有个前台进程,若是全部都是后台deamon守护进程,没有一个前台进程,则会自动停止容器。

解决方案:

  1. 去除-d,加上 -it 开启容器交互式终端
  2. 执行docker run -d centos /bin/bash -c "while true;echo test;" ,通过bash执行死循环shell语句,将容器进程卡主

1.2 dockerfile中 ADD和COPY命令中的宿主机文件都需要在dockerfile同级目录

现象:
编辑dockerfile文件构建tomcat镜像,其中存在ADD指令,执行build构建命令后,提示文件不存在。

# pwd /root/docker/test/dockerfiletest 
# dockerfiletest文件目录:/root/docker/test/dockerfiletest 
[root@centos7 dockerfiletest]# cat dockerfile-tomcattest 
FROM centos
MAINTAINER wl<wl@126.com>
ENV WORKPATH /usr/local
WORKDIR $WORKPATHADD /root/apache-tomcat-9.0.85.tar.gz /usr/local/ #apache-tomcat-9.0.85.tar.gz没在dockerfiletest文件目录,导致出现
ADD /root/jdk-8u391-linux-x64.tar.gz /usr/local/ENV JAVA_HOME /usr/local/jdk1.8.0_391
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.85
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.85
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/lib
EXPOSE 8080
CMD $CATALINA_HOME/bin/startup.sh && tail -f $CATALINA_HOME/logs/catalina.out

在这里插入图片描述
解决方案:

  1. 将两个依赖的压缩包cp到dockerfile文件目录
  2. 修改dockerfile文件,将压缩包文件路径 改为当前目录下
    ADD apache-tomcat-9.0.85.tar.gz /usr/local/
    ADD jdk-8u391-linux-x64.tar.gz /usr/local/
    

1.3 dockerfile中存在EXPOSE port,在启动容器时还是需要-p 添加端口映射

现象:
dockerfile存在EXPOSE 8080,但是docker run时未添加-p 端口映射,导致访问宿主机端口时访问不到。
解决方案:
在docker run中还是需要添加-p 端口映射,如:docker run -p 8080:8080 ...

1.4 执行docker run -p 8080:8080,出现iptables failed错误

现象:

docker: Error response from daemon: driver failed programming external connectivity on endpoint tomcat01 
(0a7c671209ed49c4e0c1dbff28f9d43e2155ba219bb609afc3892b4f4912d9b2):  
(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9090 -j DNAT --to-destination \
172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.(exit status 1)).

原因:

  • 当centos7 firewall 被清掉时, firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。
  • 当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。

解决方案:
Linux 开启firewall 防火墙,并重启docker,systemctl restart docker

后续遇到问题继续补充~

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

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

相关文章

上位机图像处理和嵌入式模块部署(视频处理vs图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 从目前发展的情况来看&#xff0c;视频处理会慢慢变成一种主流趋势。这里面的原因很多&#xff0c;比如说现在嵌入式soc的算力越来越强、获取图像的…

pytest的常用插件和Allure测试报告

pytest常用插件 pytest-html插件 安装&#xff1a; pip install pytest-html -U 用途&#xff1a; 生成html的测试报告 用法&#xff1a; ​在.ini配置文件里面添加 addopts --htmlreport.html --self-contained-html 效果&#xff1a; 执行结果中存在html测试报告路…

使用机器学习算法预测在线订餐需求

咱们国内的美团和国外的 Swiggy 和 Zomato 引入市场后&#xff0c;在线订餐的需求量很大。食品配送公司利用客户的购买习惯来加快配送过程。食品订单预测系统是这些公司可以用来加快整个交付过程的有用技术之一。 这些公司对客户的主要目标是在正确的时间交付食物。为了更快地…

为什么无法正确上传表格?为什么上传表格后数据有缺失?

大家在使用易查分制作查询系统时&#xff0c;偶尔会出现上传内容与电子表格不一致、部分数据缺失的情况&#xff0c;出现这种情况该如何解决呢&#xff1f;本次就来介绍下解决方案。 &#x1f4cc;正确表格制作方式 1.正确的表格第一行必须是表头&#xff08;如&#xff1a;姓名…

Matplotlib雷达图教程:学会绘制炫酷多彩的多维数据可视化【第53篇—python:Seaborn大全】

文章目录 Matplotlib雷达图绘制指南&#xff1a;炫酷雷达图参数解析与实战1. 普通雷达图2. 堆叠雷达图3. 多个雷达图4. 矩阵雷达图5. 极坐标雷达图6. 定制化雷达图外观7. 调整雷达图坐标轴范围8. 雷达图的子图布局9. 导出雷达图总结 Matplotlib雷达图绘制指南&#xff1a;炫酷雷…

Linux——存储管理

文章目录 基本分区磁盘简介磁盘分类linux的磁盘命名磁盘的分区方式 管理磁盘虚拟机添加硬盘查看磁盘信息磁盘分区流程创建分区创建文件系统挂载mount查看挂载信息 剩余空间继续分区MBR如何划分更多的分区为什么只能有4个主分区扩展分区的引入 逻辑卷LVM是什么特点术语创建LVMVG…

寒假作业2月2号

第一章 命名空间 一&#xff0e;选择题 1、编写C程序一般需经过的几个步骤依次是&#xff08;C &#xff09; A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 2、所谓数据封装就是将一组数据和与这组数据有关…

AI监控+智能充电桩系统如何缓解新能源汽车充电难问题

在新能源汽车行业的快速发展中&#xff0c;充电桩作为重要的配套设施&#xff0c;其建设和发展至关重要。随着新能源汽车销量的增长&#xff0c;补能需求也日益迫切&#xff0c;这为充电桩行业的发展提供了巨大的机遇。然而&#xff0c;充电桩行业在快速发展的同时&#xff0c;…

应对手机数据丢失的5大安卓数据恢复软件

我们都去过那里。您的手机上的数据丢失了&#xff0c;现在无法恢复。这尤其令人恐惧&#xff0c;因为我们的手机上都有如此多的信息。从图片、应用程序、个人信息&#xff0c;甚至是来自可能已不复存在的亲人的短信和语音邮件。这种情况确实发生了&#xff0c;而且也不仅仅是An…

单片机学习笔记--- 定时器/计数器(简述版!)

目录 定时器的介绍 定时计数器的定时原理 定时计数器的内部结构 两种控制寄存器 &#xff08;1&#xff09;工作方式寄存器TMOD &#xff08;2&#xff09;控制寄存器TCON 定时计数器的工作方式 方式0 方式1 方式2 方式3 定时器的配置步骤 第一步&#xff0c;对…

【AudioPolicy To AudioHAL笔记(三)】安卓S上audio_policy_configuration.xml 加载过程分析

安卓S上audio_policy_configuration.xml 加载过程分析 /*****************************************************************************************************************/ 声明: 本博客内容均由https://blog.csdn.net/weixin_47702410原创&#xff0c;转载or引用请注明…

用于录制培训视频的前 6 名顶级录屏软件

教程视频是当今互联网上最受欢迎的视频类别之一。许多人都在寻找如何使用他们购买的东西的说明&#xff0c;但由于没有时间&#xff0c;文本中编写的教程无法实现目标。人们更喜欢观看互联网教程视频的可能性是参考产品手册的三倍。此外&#xff0c;由于程序的可访问性&#xf…