ホストPCで作成したimageファイルをdocker hubにpushし、他のpcからも使用できるようにしたいのですがつまづいています。
ファイル構成は下記の通りです。
docker-python/ ├ Dockerfile ├ docker-compose.yml └ opt/ └ sample.py
Dockerfile
FROM python:3 USER root RUN apt-get update RUN apt-get -y install locales && \ localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 ENV LANG ja_JP.UTF-8 ENV LANGUAGE ja_JP:ja ENV LC_ALL ja_JP.UTF-8 ENV TZ JST-9 ENV TERM xterm RUN apt-get install -y vim less RUN pip install --upgrade pip RUN pip install --upgrade setuptools RUN python -m pip install jupyterlab
docker-compose.yml
version: '3' services: python3: restart: always build: . container_name: 'python3' working_dir: '/root/' tty: true volumes: - ./opt:/root/opt
sample.py
import math import sys def main(): val = float(sys.argv[1]) print(math.radians(val)) if __name__ == "__main__": main()
イメージ作成→コンテナ作成→コンテナ起動
docker compose up -d --build
コンテナへの接続
docker compose exec python3 bash
pyファイル実行
python sample.py →3.14.....
Push
docker tag IMAGE ID 「リポジトリ名/イメージ名」
他のPCで上記のimageをpullし、そのimageを基にコンテナ起動→接続まではうまくいくのですが、
pyファイルを実行できません。
コンテナに接続しても、volumesで記載した通りになりません。(localのoptフォルダがコンテナのoptフォルダに同期されない。)
他のpcのローカルにもDockerfileやymlを作成する必要があるのでしょうか。
ご教示お願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。