• Docker 容器之间通讯?

    • 容器连接 host 的mq
    • Linux主机中起了一个 rabbitmq 容器,又起了一个 xxx 服务容器,这个 xxx 怎么连接到 rabbitmq 容器?因为都是在一台 Linux 中,我在 xxx 服务容器中填写 localhost + 端口貌似不行,把 localhost 改成 内网 ip 就行,比如 (192.168.31.100),但是写死为内网IP不行呀,因为内网IP会变化

Q: Docker 容器日志如何收集?
A:

Q: 通过 docker-composeenv_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

universe_king
3.4k 声望680 粉丝