我是Docker的新手。我在Windows机器上。 我写了这个Dockerfile:
FROM ubuntu:xenial
MAINTAINER myname@mycompany.de
EXPOSE 1883 1883
RUN apt-get update && apt-get install mosquitto -y
CMD ["mosquitto"]
成功了:我能够建立和发展启动图像,之后我还能够将客户端连接到mosquitto-server - 这意味着mosquitto-server正在docker-container中运行。
作为下一个测试用例,我想覆盖默认的mosquitto-config文件,所以我想我可以在我的Dockerfile中使用ADD
语句(然后重建)。但因此我需要知道 mosquitto 的安装位置。我进入虚拟机,我期待/etc/mosquitto
中的mosquitto,但是没有这样的文件夹。
1)mosquitto在哪里?
2)为什么我不能在VM中使用ssh时运行mosquitto
(“未找到”) - 但CMD ["mosquitto"]
有效?
3)在我的案例中使用ADD
是最佳做法吗?
答案 0 :(得分:1)
您的蚊子不在您的虚拟机内但在您的容器内,要进入您的容器(必须运行),您可以尝试:
docker exec -it <containerID> /bin/bash
现在你在你的容器里,你可以找到蚊子。
使用ADD
是一种很好的做法,但请记住重新构建容器以应用此更改。
答案 1 :(得分:0)
我不确定文件存储的确切位置但是在docker-machine ssh之后你可以以root身份转到文件夹/ var / lib / docker / aufs / diff /或/ var / lib / docker / aufs / mnt /并调查你的方式。 或者,最好使用COPY命令在Dockerfile本身中添加自定义配置文件。确保将配置文件放在app / config / ..等相应的文件夹中。