初学Docker遇到一些疑问,还请各位大佬科普一下

2010带你飞 发布于 04/25 16:55
阅读 358
收藏 0

初学Docker有几个疑问,请大家科普一下

背景:自己的云服务器 安装了docker和下载了tomcat镜像,并且正常启动,端口映射成功,外网可以直接访问tomcat.

1.为什么docker中不能挂载conf??     我在尝试run镜像的时候,希望把tomcat的配置文件conf文件夹挂载到物理机上,但是发现无法成功,而挂载 logs和webapps是正常的,求科普这是为什么?

执行命令:

docker run --name tomcat -p 8080:8080 -v /opt/docker/tomcat/logs:/usr/local/tomcat/logs -v /opt/docker/tomcat/conf/:/usr/local/tomcat/conf  -v /opt/docker/tomcat/webapps:/usr/local/tomcat/webapps -d tomcat

这条在我服务器上会执行失败,只要把第二个挂载conf的配置去掉就可以成功,百思不得其解。

2.当我把tomcat容器A启动成功后,我将webapps中放入了我的测试war包,然后希望把这个容器A重新做成镜像B。最后也是成功实现了,但是我发现如果我在启动容器A的时候挂载一个物理机目录然后在做成镜像B后,发现新的镜像B在启动时的webapps中丢失了我的war包,如果我在容器A创建时不挂载目录到物理机,则做成镜像B后启动容器B  ,容器B的webapps中的war包是仍然存在的,这是为什么??简单的说就是为什么容器启动时挂载目录做成镜像再次启动新的容器后会丢失webapps中的war文件

3.安装的容器如何指定安装目录? 比如tomcat在/usr/local/tomcat 我希望他在/opt/tomca中,如何改变??

 

 

加载中
0
gitOpen_1
gitOpen_1

你的宿主机 conf目录是不是不存在? 会读不到配置的

2010带你飞
2010带你飞
另外两个问题您知道是啥情况吗?
2010带你飞
2010带你飞
我的宿主机文件夹存在,而文件夹内是空的,应该是宿主机把容器覆盖了,所以都是空的,So 启动不了。。。。。你提醒我了,谢谢
0
浪里个浪浪
浪里个浪浪
浪里个浪浪
回复 @2010带你飞 : docker inspect images:tag,你要研究镜像的构建参数
2010带你飞
2010带你飞
问题一已经大概知道怎么回事了。请问知道问题二和问题三原因吗?
0
LYB_124321
LYB_124321

2. 映射文件在物理机,容器保存为镜像是不会把映射文件拷贝进去的

3. 自己制作docker镜像

这两个问题等你看到 Dockerfile 编写的时候就知道了

0
careyjike
careyjike

2.你的镜像b的war包是在webapps,挂载会后你容器的webapps对应的是你宿主机的webapps。

如果你再更新war后重新build镜像就不应该再去挂载webapps
3.dockerfile

建议你先去熟悉docker,这些都是很基础的

2010带你飞
2010带你飞
哥们,能不能再说细一些,我有点懵…谢谢
返回顶部
顶部