Dockerfileでイメージをビルドしてコンテナを立ち上げる方法
Author: 水卜
Author: 水卜
ビルドしてオリジナルのイメージを作るときの設計書。
CMDより前のコマンドでコンテナを作り、CMDコマンドがコンテナの実行コマンドになる。
以下の例はpipenvで管理していたpythonプロジェクトをコンテナ化したもの。
pipenvの依存を一旦requirements.txtに落としている
FROM python:3.7
RUN mkdir /myapp
WORKDIR /myapp
COPY Pipfile /myapp/Pipfile
COPY Pipfile.lock /myapp/Pipfile.lock
RUN pip install pipenv
RUN pipenv lock -r > requirements.txt
RUN pip install -r requirements.txt
COPY . /myapp
WORKDIR /myapp/admin/backend
EXPOSE 8081
CMD ["./flask-server.sh"]
docker build
コマンドでイメージを作成する。-t
は名前をつけるときのオプション
docker build ./ -t myapi
作ったイメージはdocker runでコンテナとして起動する。
docker run myapi
# -d デーモン実行 -p ポートフォワーディング
docker run -d -p 8080:8080 --name myapi myapi
# プロセス一覧
docker ps
# コンテナ終了
docker kill 84c274768278
# コンテナ削除
docker rm 84c274768278
# 消えてるか確認
docker container ls -a