【Docker】Docker compose ~ 環境構築編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2020/04/11/000000
https://dk521123.hatenablog.com/entry/2020/12/18/152949

の続き。

docker-compose は、Docker Engineとは別ソフトウェアなので
インストールする必要があるので、メモ。
更新方法も載せておく。

目次

【1】docker-compose のインストール
 方法1:公式サイトのやり方
 方法2:pip でのインストール
 方法3:apt でのインストール
【2】docker-compose のアンインストール
【3】Hello World - nginxサーバ -
 1)docker-compose.yml を作成する
 2)コンテナ作成および起動
 3)動作確認
 4)コンテナ停止

【1】docker-compose のインストール

# インストールされているか確認
docker-compose --version

方法1:公式サイトのやり方

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-ja#1-docker-compose
[1] インストール

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

[2] 権限付与

sudo chmod +x /usr/local/bin/docker-compose

[3] 動作確認

docker-compose --version

方法2:pip でのインストール

sudo apt install -y python3 python3-pip
sudo pip3 install docker-compose

方法3:apt でのインストール

sudo apt install docker-compose

【2】docker-compose のアンインストール

https://docs.docker.jp/compose/install/uninstall.html

sudo apt-get remove docker-compose-plugin

手動インストールした場合

rm $DOCKER_CONFIG/cli-plugins/docker-compose

【3】Hello World - nginxサーバ -

* 最後に、Hello World として、nginxサーバを立ち上げる

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-ja#2-docker-compose-yml

参考動画

 ハンズオンについては、
以下の動画(44:20辺りから)を参考にさせてもらった。

https://www.youtube.com/watch?v=5d8O7jm7Q5c&t=586s

0)HTML準備

mkdir ~/compose-demo
cd ~/compose-demo

mkdir app
echo "<html><body><h1>Hello World! This is just a sample...</h1></body></html>" > ./app/index.html

1)docker-compose.yml を作成する

* docker-compose.yml ファイルの書き方の詳細は、
 以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2020/12/18/152949

vi docker-compose.yml

docker-compose.yml

version: '3.7'
services:
  web:
    image: nginx:alpine
    ports:
      - "8000:80"
    volumes:
      - ./app:/usr/share/nginx/html

2)コンテナ作成および起動

docker-compose.ymlに記載されている定義をもとに
docker-compose upコマンドで、コンテナ作成および起動を行う

コマンド例

# -d は、バックグラウンド起動
docker-compose up -d

# [オプション] ログをtail的に監視し、表示
docker logs user_web-server_1 -f

3)動作確認

ブラウザで、設定したNginxに対して
http://[IPアドレス or hostname]:8080/ でアクセスする
 => 「Hello World! This is just a sample...」が表示されたらOK!
 => 「docker logs user_web-server_1 -f」してたら、ログが表示されるはず

4)コンテナ停止

# docker-compose downコマンドで、コンテナ停止
docker-compose down

関連記事

Docker compose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/05/21/222910
Docker compose ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
Docker compose ~ docker-compose.yml ~
https://dk521123.hatenablog.com/entry/2020/12/18/152949
Docker compose ~ Version 2 ~
https://dk521123.hatenablog.com/entry/2023/01/02/000000
Docker compose ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432
Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2017/09/23/235818
Docker ~ Linux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2018/04/10/234030