Docker compose 備忘録
Docker とか詳しく分かってない人が Swagger UI を docker で立ち上げるまでの docker-compose 備忘録
Docker インストール
-
Docker Hub の アカウント作成 & Docker desktop for mac をダウンロード
Docker desktop をインストール & インストールチェック
$ docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:18:17 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:17:52 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
launch
- swagger.yaml を作成
- docker-compose.yml を作成
- docker-compose.yml がある階層で
docker-compose up -d
-
http://localhost:3200
にアクセス - Swagger UI がブラウザで見れる!!!!
今回作成した階層構造はこうなりました。
swagger/
├ swagger.yaml
└ docker/
└ docker-compose.yml
コンテナの起動
-
docker-compose up
- コマンドを実行した階層の docker-compose.yml をもとにコンテナ起動
exit した場合はコンテナが終了するので docker-compose up -d
でデタッチモード (バックグラウンド) で起動すると動き続ける。
-
docker-compose start
- 停止中のコンテナ起動
コンテナの確認
-
docker-compose ps
ordocker container ls
$ docker-compose ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c50f725ebe68 swaggerapi/swagger-ui "sh /usr/share/nginx…" 25 hours ago Up 9 hours 80/tcp, 0.0.0.0:3200->8080/tcp docker_swagger_1
コンテナの停止・削除
-
docker-compose stop
- コンテナ停止
-
docker-compose down
- docker-compose で作成されたコンテナ関連削除
-
docker-compose down -v
で volume ごと削除
Example
- 今回使用した docker-compose.yml の例
version: '3'
services:
swagger:
image: swaggerapi/swagger-ui
environment:
API_URL: /swagger.yaml
BASE_URL: /
volumes:
- ../swagger.yaml:/usr/share/nginx/html/swagger.yaml
restart: no
ports:
- 3200:8080
version
- 起動する docker の version
- 3 系が最新
services
- Docker でアプリケーションを動かすための各要素
- ls で確認したときの name になる
docker_swagger_1
image
- 起動するコンテナのイメージ
- ローカルになければリモートから pull ってくる
environment
- 環境変数
- image 内の環境変数を設定
volumes
- マウントする設定ファイル/ディレクトリの指定
- ホスト内のファイル/ディレクトリ : マウントするファイル/ディレクトリのコンテナ内のパス
volumes:
- ./dir:/var/www/dir
ホスト上の dir 内でファイルを作るとコンテナの dir 内にも作られる。
(docker-compose.yml から見た相対パス)
一番上の例だと ../swagger.yaml
を更新するとコンテナ内の /usr/share/nginx/html/swagger.yaml
も更新される。
restart
- 実行時に再起動するかどうか
option | 挙動 |
---|---|
no | 再起動しない : デフォルト |
always | 再起動する |
on-failure | ? |
unless-stopped | ? |
今回は特に気にしてなかったので詳しく調べていません
ports
- コンテナの port 指定
参考
DockerをMacにインストールする(更新: 2019/7/13) - Qiita
Swagger 3.0のOAuth認証にCognito User PoolsのOAuth Clientを使う | DevelopersIO
Author And Source
この問題について(Docker compose 備忘録), 我々は、より多くの情報をここで見つけました https://qiita.com/tick-taku/items/9014d794fe2f1ca57aef著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .