■ はじめに
https://dk521123.hatenablog.com/entry/2020/04/11/000000
https://dk521123.hatenablog.com/entry/2020/12/18/152949
の続き。 docker-compose は、Docker Engineとは別ソフトウェアなので インストールする必要があるので、メモ。 更新方法も載せておく。
目次
【0】確認 【1】docker-compose のインストール 方法1:マニュアルインストール 方法2:apt でのインストール 方法3:pip でのインストール 【2】docker-compose のアンインストール 【3】Hello World - nginxサーバ - 1)docker-compose.yml を作成する 2)コンテナ作成および起動 3)動作確認 4)コンテナ停止
【0】確認
# インストールされているか確認 docker-compose --version
【1】インストール
方法1:マニュアルインストール
https://docs.docker.com/engine/install/ubuntu/
で記載されているやり方。
https://dk521123.hatenablog.com/entry/2021/11/14/224428
より抜粋。
[1] リポジトリのセットアップ
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
[2] Docker Engineをインストール
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
[3] Docker composeをインストール
# インストール用ディレクトリを作成(全ユーザ向け) sudo mkdir -p /usr/local/libexec/docker/cli-plugins # docker-composeをインストール cd /usr/local/libexec/docker/cli-plugins # See and check the version of Docker from https://github.com/docker/compose/releases/ sudo curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o docker-compose # 実行権限の付与 sudo chmod +x /usr/local/libexec/docker/cli-plugins/docker-compose # 確認 docker compose version
[4] [任意] docker を sudo なしで実行する
* 以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2023/11/22/000000
方法2:apt でのインストール
https://docs.docker.com/compose/install/linux/#install-using-the-repository
sudo apt-get update sudo apt-get install docker-compose # 全ユーザ向け mkdir -p /usr/local/lib/docker/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose # 実行権限の付与 chmod +x /usr/local/lib/docker/cli-plugins/docker-compose docker compose version
補足:docker-compose-plugin
sudo apt-get install docker-compose-plugin だと「E: Unable to locate package docker-compose-plugin」 ってエラーになる
https://qiita.com/kawaichi0228/items/c5d2ea2bbe5d160d8491
方法3:pip でのインストール
sudo apt install -y python3 python3-pip
sudo pip3 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サーバを立ち上げる
参考動画
ハンズオンについては、 以下の動画(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 ~ 拡張フィールド ~
https://dk521123.hatenablog.com/entry/2024/08/21/000445
Docker compose ~ 環境変数 ~
https://dk521123.hatenablog.com/entry/2024/08/22/000539
Docker compose ~ WordPress ~
https://dk521123.hatenablog.com/entry/2024/06/14/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
Docker ~ docker を sudo なしで実行する ~
https://dk521123.hatenablog.com/entry/2023/11/22/000000
Docker に関するトラブル
https://dk521123.hatenablog.com/entry/2017/09/24/162257