Dockerコンテナをプロダクションに展開するためのさまざまな戦略とDev Opsyのアーキテクチャがあることを認識していますが、私はDockerの基本をいくつか学んでいて、次のものを移動する最も直接的な方法を本当に探していますたとえば、AWSまたは別のリモートサイトに私はさまざまなコンテナにプロジェクトをセットアップしてリンクする方法を理解していると思いますが、既存のコードを保存またはパッケージ化して他の場所に配置する方法を理解できません。コードを実際にパッケージ化して移動するにはどうすればよいですか?
ここには、私が取り組もうとしているサンプルテンプレートがあります。
ドッカー-作曲
web:
restart: always
build: ./web
expose:
- "8000"
links:
- postgres:postgres
- redis:redis
volumes:
- /usr/src/app
- /usr/src/app/static
env_file: .env
command: /usr/local/bin/gunicorn docker_django.wsgi:application -w 2 -b :8000
nginx:
restart: always
build: ./nginx/
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
links:
- web:web
postgres:
restart: always
image: postgres:latest
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data/
redis:
restart: always
image: redis:latest
ports:
- "6379:6379"
volumes:
- redisdata:/data
Dockerfile
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
このDockerfileちょうど私が実際の開発が行われると仮定した場合は 'コード' というディレクトリが作成されます。すなわち、ドッカーの作成を実行すると、コンテナが作成され、コードディレクトリで開発が開始されます。だから私が何をやっていても、上記のまったく同じテンプレートを使ってプロダクションにデプロイすると、このDockerfileはAWSに空の 'code'ディレクトリを作成しませんか?ローカルマシンのコードディレクトリから展開しようとしている作業はどうですか?実際のコードディレクトリをパッケージ化して本番環境に移行するにはどうすればよいですか?
私は自分のプロジェクトから新しいイメージを作成し、その新しいイメージを新しいDockerfileで展開しますか? – Ben