Вам необходимо смонтировать локальный каталог, содержащий файлы grpc и server_base.py
как том в ваших контейнерах server_1
и server_2
.Таким образом, существует единственный источник правды (ваш локальный каталог), и вы можете использовать их из обоих ваших контейнеров.
Вы можете добавить определение volumes
в ваш файл docker-compose.yml
для ваших контейнеров.Вот простой файл создания, который я создал для вашего сценария использования:
version: "3"
services:
server_1:
image: tutum/hello-world
ports:
- "8080:8080"
container_name: server_1
volumes:
- ./common_files:/common_files
server_2:
image: tutum/hello-world
ports:
- "8081:8081"
container_name: server_2
volumes:
- ./common_files:/common_files
common_files
- это папка в вашем локальном каталоге, содержащая server_base.py
вместе с файлами grpc, которые вы хотите смонтироватькак объемы к вашим контейнерам, которые должны использовать их.Они называются томами хоста, поскольку вы монтируете локальные файлы со своего хоста как тома для своих контейнеров.
При этой настройке, когда вы exec
в server_1
, вы можете видеть, что есть common_files
папка сидит в каталоге /
.Аналогично для server_2
.
Вы можете exec
в server_1
, используя docker-compose exec server_1 /bin/sh
. Вы также можете прочитать больше в документации для томов Docker.