Dockerについて概要を書いておきます。
Dockerとはざっくりいえばアプリを”コンテナ”としてDocker上で起動させるシステム。
コンテナはイメージから作られ、イメージはDocker hubで共有されていたりする。
イメージを取得するには
docker pull イメージ名
で取得できる。
取得したイメージ一覧は
docker images
で一覧が見れる。
イメージからコンテナを作る(起動)させるには
docker -d -p ホスト側ポート:コンテナ側ポート タグ名
で起動できる。 -dはバックグラウンド起動、 -pはポート指定
起動しているコンテナの状態は
docker ps -a
でわかる。
コンテナの停止は
docker stop コンテナID
コンテナの消去は
docker rm コンテナID
イメージの消去は
docker rmi イメージID
起動したコンテナでコマンド実行
docker exec -it コンテナID コマンド
DockerFileを作ってイメージを作成することができる。
DockerFileには様々なコマンドを羅列すれば良い。
FROM どのイメージを使用するか
RUN イメージファイルを作成する際に走らせるコマンド指定
ADD 外部から設定ファイル等をコンテナに取り込む際に使用
EXPOSE コンテナ上でListenするポート
CMD コンテナ起動時に実行するコマンド指定
これらを羅列したDockerFileを用意し、
docker build -t タグ名
で、イメージが作れる。イメージの名前はタグ名となる。
複数のコンテナを複数起動する必要がある場合docker-composerを使って管理できる。
dicker-compose.ymlを作る。
docker-compose.ymlには次のような項目を指定する。
version:
services:
コンテナ名:(build DockerFilesのあるフォルダ名, port ホスト側ポート:コンテナ側ポート, links: コンテナ名でリンクしたいコンテナ指定, volumes)
他詳細な指定は公式参照。
コンテナをdocker-composeで起動するには
docker-compose up -d
でできる。