Dockerは、コンテナ化された環境でアプリケーションを開発、出荷、実行するための無料のオープンソースプラットフォームです。これにより、アプリケーションをインフラストラクチャから分離できます。これにより、コンテナーの構築、デプロイ、および管理がより簡単、簡単、かつ安全になります。 Dockerは、ローカル開発環境をセットアップするように設計されています。
アプリケーションに複数のコンテナーを作成する場合は、Dockercomposeを使用する必要があります。 Docker-composeは、マルチコンテナーアプリケーションを定義および共有するために使用されるツールです。 Docker composeを使用すると、YAMLファイルを使用してすべてのサービスを定義し、単純なコマンドを使用してそれらを一度に実行できます。
このチュートリアルでは、Debian11システムにDockerとDockercomposeをインストールする方法を紹介します。
- Debian11を実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
まず、システムパッケージキャッシュを最新バージョンに更新することをお勧めします。次のコマンドを使用して更新できます:
apt-get update -y
完了したら、次のコマンドを使用して他の必要な依存関係をインストールします。
apt-get install apt-transport-https software-properties-common ca-certificates curl gnupg lsb-release -y
Dockerをインストールする
デフォルトでは、Dockerの最新バージョンはDebian11公式リポジトリに含まれていません。そのため、DockerCEリポジトリをAPTに追加する必要があります。次のコマンドを使用して追加できます:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Dockerリポジトリーが追加されたら、リポジトリーを更新し、次のコマンドを使用してDockerCEをインストールします。
apt-get update -y
apt-get install docker-ce docker-ce-cli -y
インストール後、次のコマンドを使用してDockerCEのバージョンを確認します。
docker version
次の出力が得られるはずです:
Client: Docker Engine - Community Version: 20.10.8 API version: 1.41 Go version: go1.16.6 Git commit: 3967b7d Built: Fri Jul 30 19:54:22 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.8 API version: 1.41 (minimum version 1.12) Go version: go1.16.6 Git commit: 75249d8 Built: Fri Jul 30 19:52:31 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.9 GitCommit: e25210fe30a0a703442421b0f60afac609f950a3 runc: Version: 1.0.1 GitCommit: v1.0.1-0-g4144b63 docker-init: Version: 0.19.0 GitCommit: de40ad0
Dockerサービスを管理する
systemdユーティリティを使用してDockerサービスを簡単に管理できます。
Dockerサービスを開始するには、次のコマンドを実行します。
systemctl start docker
Dockerサービスを再起動するには、次のコマンドを実行します。
systemctl restart docker
Dockerサービスを停止するには、次のコマンドを実行します。
systemctl stop docker
システムの再起動時にDockerサービスを開始できるようにするには、次のコマンドを実行します。
systemctl enable docker
Dockerのステータスを確認するには、次のコマンドを実行します。
systemctl status docker
次の出力にDockerのステータスが表示されます。
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-09-10 07:19:35 UTC; 27s ago TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 29018 (dockerd) Tasks: 7 Memory: 32.6M CPU: 407ms CGroup: /system.slice/docker.service ??29018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809035575Z" level=info msg="scheme \"unix\" not registered, fallback to def> Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809219999Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni> Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809410545Z" level=info msg="ClientConn switching balancer to \"pick_first\"> Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.897972507Z" level=info msg="Loading containers: start." Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.186940748Z" level=info msg="Default bridge (docker0) is assigned with an IP> Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.298681937Z" level=info msg="Loading containers: done." Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.356364773Z" level=info msg="Docker daemon" commit=75249d8 graphdriver(s)=ov> Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.357524464Z" level=info msg="Daemon has completed initialization" Sep 10 07:19:35 debian11 systemd[1]: Started Docker Application Container Engine. Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.401626151Z" level=info msg="API listen on /run/docker.sock"
Dockerを使用してコンテナーを実行する
docker runを使用できます 任意のイメージをダウンロードしてコンテナ内で実行するコマンド。
たとえば、次のコマンドを実行してDebianイメージをダウンロードし、コンテナを実行します。
docker run --rm -it --name test debian:latest /bin/sh
次の出力が得られるはずです:
Unable to find image 'debian:latest' locally latest: Pulling from library/debian 955615a668ce: Pull complete Digest: sha256:08db48d59c0a91afb802ebafc921be3154e200c452e4d0b19634b426b03e0e25 Status: Downloaded newer image for debian:latest #
次のコマンドを実行してDebianコンテナを終了します
#exit
DockerComposeをインストールする
デフォルトでは、DockercomposeはDebian11のデフォルトリポジトリでは利用できません。そのため、GithubからDockercomposeバイナリをダウンロードする必要があります。
次のコマンドを実行して、Dockercomposeバイナリをダウンロードします。
curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -
ダウンロードが完了したら、ダウンロードしたファイルに実行可能ファイルのアクセス許可を設定し、次のコマンドを使用してシステムパスに移動します。
chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
次に、次のコマンドを使用してDocker構成バージョンを確認します。
docker-compose version
次の出力が表示されます。
docker-compose version 1.29.2, build 5becea4c docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Docker構成ファイルを実行するには、次のコマンドを実行します。
docker-compose up -d
実行中のすべてのコンテナーを停止するには、次のコマンドを実行します。
docker-compose down
実行中のコンテナを一時停止および一時停止解除するには、次のコマンドを実行します。
docker-compose pause
docker-compose unpause
実行中のすべてのコンテナを一覧表示するには、次のコマンドを実行します。
docker-compose ps
実行中のサービスのログを確認するには、次のコマンドを実行します。
docker-compose logs
おめでとう!これで、Debian11にDockerとDockerComposeが正常にインストールされました。これで、DockerとDocker Composeを使用してアプリケーションをビルド、出荷、実行できます。