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

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

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

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

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

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

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

DebianにDockerComposeをインストールする#

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

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

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

  1. まず、DockerComposeバイナリを/usr/local/binにダウンロードします。 次の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. ダウンロードが完了したら、作成バイナリに実行可能権限を付与します。

    sudo chmod +x /usr/local/bin/docker-compose
  3. 次のように入力して、インストールを確認します。

    docker-compose --version

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

    docker-compose version 1.23.1, build b02f1306

Docker Composeの使用を開始する#

このセクションでは、DockerComposeを使用してDebian9マシンでWordPressスタックを管理する方法を示します。

プロジェクトのディレクトリを作成し、それに変更することから始めます:

mkdir wordpress_appcd wordpress_app

テキストエディタを開き、ファイル名を付けたdocker-compose.ymlを作成します プロジェクトディレクトリ内:

nano docker-compose.yml

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

docker-compose.yml
version: '3.3'

services:
  db:
    image: mysql:5.7
    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:

では、上記のコードは何をするのでしょうか?

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

次に、dbという2つのサービスを定義します。 およびwordpress 。各サービスは1つのイメージを実行し、docker-composeが実行されると個別のコンテナーを作成します。

db サービス:

  • mysql:5.7を使用します 画像。イメージがシステムに存在しない場合、ComposeはDockerHubパブリックリポジトリからイメージをプルします。
  • 再起動を使用しますalways コンテナに常に再起動するように指示するポリシー。
  • 名前付きボリュームを作成しますdb_data データベースを永続化するため。
  • mysql:5.7の環境変数を定義します 画像。

wordpress サービス:

  • wordpressを使用します 画像。イメージがシステムに存在しない場合、ComposeはDockerHubパブリックリポジトリからイメージをプルします。
  • 再起動を使用しますalways コンテナに常に再起動するように指示するポリシー。
  • wp_dataをマウントします /var/lib/mysqlへのホスト上のディレクトリ コンテナ内。
  • コンテナの公開されたポート80をホストマシンのポート8080に転送します。
  • wordpressの環境変数を定義します 画像。
  • depends_on 命令は、2つのサービス間の依存関係を定義します。この例では、db wordpressの前に開始されます 。

プロジェクトディレクトリから、次のコマンドを実行してWordPressアプリケーションを起動します。

docker-compose up

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

...
wordpress_1_70f2f980e1fb | [Mon Nov 19 18:00:31.002748 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.12 configured -- resuming normal operations
wordpress_1_70f2f980e1fb | [Mon Nov 19 18:00:31.002912 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

Composeは両方のイメージをプルし、2つのコンテナーを開始して、wp_dataを作成します。 プロジェクトディレクトリ内のディレクトリ。

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

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

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

-dを渡すことで、デタッチモードで作成を開始することもできます。 フラグ。

docker-compose up -d

実行中のサービスを確認するには、psを使用します オプション:

docker-compose ps
       Name                     Command               State          Ports        
----------------------------------------------------------------------------------
wordpress_app_db_1          docker-entrypoint.sh mysqld      Up      3306/tcp, 33060/tcp 
wordpress_app_wordpress_1   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. Debian11にdockerをインストールして設定する方法

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

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

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

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

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

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