Docker 容器之间通讯?
- 容器连接 host 的mq
- Linux主机中起了一个 rabbitmq 容器,又起了一个 xxx 服务容器,这个 xxx 怎么连接到 rabbitmq 容器?因为都是在一台 Linux 中,我在 xxx 服务容器中填写 localhost + 端口貌似不行,把 localhost 改成 内网 ip 就行,比如 (192.168.31.100),但是写死为内网IP不行呀,因为内网IP会变化
Q: Docker 容器日志如何收集?
A:
Q: 通过 docker-compose
的 env_file
选项,是复制 .env
文件到容器中,还是只是简单的设置环境变量?
A: 只是简单的设置环境变量,并不会把宿主机中的 .env
文件复制到容器中,而只是把 .env
中的条目配置问容器的环境变量。
可以使用下面的代码自行测试 👇
main.py
import os # print(os.environ) print(os.environ['HOST'], type(os.environ['HOST'])) print(os.environ['PORT'], type(os.environ['PORT'])) print(os.getcwd()) print(os.listdir())
构建镜像
sudo docker build -t "testing/docker_log" .
Dockerfile
FROM python:3.9.9-slim ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code COPY main.py /code/
运行容器
docker-compose up
docker-compose.yaml
version: "3" services: docker_log_service: container_name: docker_log_service image: testing/docker_log network_mode: "host" env_file: - .env command: python main.py
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。