Docker 容器 100 問

ponponon發表於2021-12-13
  • 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

相關文章