前提条件
- AWS EC2インスタンス作成ができている
- EC2インスタンスにnginxインストール済
EC2にDockerをインストール
EC2インスタンスにSSH接続後、下記コマンドを入力
sudo amazon-linux-extras install docker
Docker起動
sudo systemctl start docker
Docker起動確認
sudo systemctl status docker
ActiveになっていればOK
swagger-editorのイメージをpull
sudo docker pull swaggerapi/swagger-editor
swagger-uiのイメージをpull
sudo docker pull swaggerapi/swagger-ui
swagger-editorを起動
sudo docker run -d -p 8000:8080 swaggerapi/swagger-editor
swagger-uiを起動
sudo docker run -d -p 8001:8080 swaggerapi/swagger-ui
コンテナ起動確認
sudo docker ps
swagger-editorとswagger-uiが表示されればOK
nginx.confに追記
nginx.confを開く
sudo vim /etc/nginx/nginx.conf
下記内容をnginx.confに追記
**server{}**内に必ず追記するようにしてください。
location /swagger-editor/docker/ {
proxy_pass http://localhost:8000/;
proxy_redirect off;
}
location /swagger-ui/docker/ {
proxy_pass http://localhost:8001/;
proxy_redirect off;
}
nginxを再起動or再読み込み
再起動
sudo systemctl restart nginx
再読み込み
sudo systemctl reload nginx
すでに、docker上で動かしているコンテナがswagger系以外にもあるなら、再読み込みがおすすめ
再起動して失敗してしまうと、正常に動いていた機能も含めて全て利用不可になる可能性があるので。
URLにアクセスして、swagger-editorの表示を確認
http://(IPv4アドレス)/swagger-editor/docker/
URLにアクセスして、swagger-uiの表示を確認
http://(IPv4アドレス)/swagger-ui/docker/
##自動起動設定(nginx,docker編)
sudo systemctl enable nginx
sudo systemctl enable docker
自動起動設定(dockerコンテナ編)
コンテナ単体の自動起動設定をすることもできます。
コンテナ起動後に、下記コマンドを入力してください。
sudo docker update --restart=always コンテナ名
自動起動設定を無効化する場合は
sudo docker update --restart=no コンテナ名
##最後に
以上が、AWS/EC2とDockerを使ったswagger-ui,swagger-editorの環境構築手順です。
不明点、質問等があればコメント欄にお願い致します。