GNU/Linux >> Linux の 問題 >  >> Debian

Debian10LinuxにDockerComposeをインストールして使用する方法

Dockerは、事実上どこでも実行できるポータブルで自給自足のコンテナーとしてアプリケーションを迅速に構築、テスト、デプロイできるようにするコンテナー化プラットフォームです。

Docker Composeは、マルチコンテナーDockerアプリケーションを定義およびオーケストレーションできるツールです。 YAMLファイルを使用して、アプリケーションのコンテナ、ネットワーク、ボリュームを構成します。

作成はさまざまな目的に使用できます。単一ホストアプリケーションのデプロイ、自動テスト、およびローカル開発は、DockerComposeの最も一般的なユースケースです。

このチュートリアルでは、最新バージョンのDockerComposeをDebian10、Busterにインストールする方法について説明します。また、DockerComposeの基本的な概念とコマンドについても説明します。

前提条件#

続行する前に、次の前提条件を満たしていることを確認してください。

  • sudo権限を持つユーザーとしてログインしました。
  • Debian10machineにDockerがインストールされています。

Debian 10へのDockerComposeのインストール#

DockerComposeインストールパッケージは公式のDebian10リポジトリで利用できますが、常に最新バージョンであるとは限りません。推奨されるアプローチは、DockerのGitHubリポジトリからDockerComposeをインストールすることです。

この記事を書いている時点で、DockerComposeの最新の安定バージョンはバージョン1.23.1です。 。 Composeバイナリをダウンロードする前に、GitHubandのComposeリポジトリリリースページにアクセスして、ダウンロード可能な新しいバージョンがあるかどうかを確認してください。

次の手順を使用して、最新バージョンのDockerComposeをDebian10にインストールします。

  1. DockerComposeバイナリを/usr/local/binにダウンロードします wgetのあるディレクトリ またはcurl

    sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. chmodを使用する Composeバイナリを実行可能にするには:

    sudo chmod +x /usr/local/bin/docker-compose
  3. インストールを確認するには、次のコマンドを使用して、作成バージョンを出力します。

    docker-compose --version

    出力は次のようになります:

    docker-compose version 1.23.1, build b02f1306

Docker Compose入門#

このセクションでは、DockerComposeを使用してローカルのWordPress開発環境をセットアップする方法を示します。

プロジェクトのディレクトリを作成し、そこに移動します:

mkdir wordpress_app && cd wordpress_app

テキストエディタを開き、ファイル名を付けたdocker-compose.ymlを作成します :

nano docker-compose.yml

次のコンテンツを貼り付けます:

docker-compose.yml
version: '3.7'

services:
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress

  wordpress:
    image: wordpress
    restart: always
    volumes:
      - ./wp_data:/var/www/html
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: password
    depends_on:
       - db

volumes:
    db_data:
    wp_data:

コードを1行ずつ説明しましょう

最初の行は、作成ファイルのバージョンを指定します。特定のDockerリリースをサポートするComposeファイル形式にはいくつかの異なるバージョンがあります。

次に、dbという2つのサービスを定義します。 およびwordpress 。 Docker Composeを実行すると、各サービスが個別のコンテナーを作成します。

db サービス:

  • 画像はmysql:8.0に設定されています 画像。イメージが存在しない場合、ComposeはDockerHubパブリックリポジトリからイメージをプルします。 commandで始まる行 デフォルトのコマンドを上書きします。
  • restart: always ポリシーは、コンテナがダウンした場合にコンテナを再起動するようにComposeに指示します。
  • コンテナは名前付きボリュームdb_dataを使用します データベースを永続化するため。
  • mysql:8.0の環境変数を定義します 画像。

wordpress サービス:

  • wordpressを使用します 画像。
  • wp_dataをマウントします /var/lib/mysqlへのホスト上のディレクトリ コンテナ内。
  • 公開されたポートを転送する80 コンテナからポート8080 ホストマシン上。
  • wordpressの環境変数を定義します 画像。
  • depends_on 命令は、2つのサービス間の依存関係を定義します。この例では、db wordpressの前に開始されます 。

プロジェクトディレクトリから、次のコマンドを実行してWordPressスタックを起動します。

docker-compose up

出力は次のようになります。

...
] /usr/sbin/mysqld: ready for connections. Version: '8.0.18'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
db_1_99946702ac7e | 2019-12-15T21:37:29.109255Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
...

Docker Composeはイメージをプルし、コンテナーを起動して、wp_dataを作成します プロジェクトディレクトリ内のディレクトリ。

http://0.0.0.0:8080/と入力します ブラウザに、標準のWordPressインストール画面が表示されます。

この時点で、WordPressアプリケーションが稼働しており、作業を開始できます。

作成を停止するには、CTRL+Cを押します 。

-dを使用して、デタッチモードで作成を開始することもできます。 オプション:

docker-compose up -d

実行中のDockerコンテナを表示するには、次のコマンドを使用します。

docker-compose ps
                 Name                               Command               State          Ports        
------------------------------------------------------------------------------------------------------
wordpress_app_db_1_99946702ac7e          docker-entrypoint.sh --def ...   Up      3306/tcp, 33060/tcp 
wordpress_app_wordpress_1_a428d8408817   docker-entrypoint.sh apach ...   Up      0.0.0.0:8080->80/tcp 

Composeがデタッチモードで実行されているときにサービスを停止するには、次を使用します。

docker-compose stop

コンテナを完全に削除する場合は、downを使用してください オプション:

docker-compose down

--volumesを渡す スイッチはデータボリュームも削除します:

docker-compose down --volumes

Docker Composeのアンインストール#

Docker Composeをアンインストールする必要がある場合は、次のように入力するだけでバイナリを削除できます。

sudo rm /usr/local/bin/docker-compose

Debian
  1. Debian11にAnsibleをインストールして使用する方法

  2. DockerとDockerComposeをDebian11にインストールする方法

  3. CentOSにDockerComposeをインストールして使用する方法

  1. Debian 10BusterLinuxにDockerをインストールする方法

  2. Debianバックポートをインストールして使用する方法

  3. Ubuntu18.04にDockerComposeをインストールして使用する方法

  1. CentOS7にDockerComposeをインストールして使用する方法

  2. Debian9にDockerをインストールして使用する方法

  3. Debian9にDockerComposeをインストールして使用する方法