アンドロイド

ubuntu 18.04にdocker composeをインストールして使用する方法

How to Access a Running Ubuntu Docker Container

How to Access a Running Ubuntu Docker Container

目次:

Anonim

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

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

このチュートリアルでは、Ubuntu 18.04にDocker Composeの最新バージョンをインストールし、Docker Composeの基本的な概念とコマンドを調べる方法を示します。

Ubuntu 16.04と、Debian、Linux Mint、Elementary OSなど、他のDebianベースのディストリビューションにも同じ手順が適用されます。

前提条件

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

  • sudo権限を持つユーザーとしてログインします。Ubuntu18.04にDockerをインストールして使用する方法の手順に従ってDockerをインストールします。

UbuntuにDocker Composeをインストールする

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

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

Ubuntu 18.04にDocker Composeをインストールするには、次の手順を実行します。

  1. 次の curl コマンドを使用して、Docker Composeバイナリを /usr/local/bin ディレクトリにダウンロードします。

    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

    ダウンロードが完了したら、実行可能権限をComposeバイナリに適用します。

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

    Composeバージョンを表示する次のコマンドを実行して、インストールを確認します。

    docker-compose --version

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

    docker-compose version 1.23.1, build b02f1306

Docker Composeの使用を開始する

このセクションでは、Docker Composeを使用してUbuntu 18.04でマルチコンテナWordPressアプリケーションをセットアップする方法を示します。

プロジェクトディレクトリを作成し、そこに移動することから始めます。

mkdir my_app cd my_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 wordpress 2つのサービスを定義しています。 各サービスは1つのイメージを実行し、docker-composeの実行時に個別のコンテナーを作成します。

db サービス:

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

wordpress サービス:

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

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

docker-compose up

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

… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_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 ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

Composeをデタッチモードで実行してサービスを停止する場合:

docker-compose stop

docker-compose down

--volumes スイッチを渡すと、データボリュームも削除されます。

docker-compose down --volumes

Docker Composeのアンインストール

何らかの理由でDocker Composeをアンインストールする場合は、次のように入力してバイナリを簡単に削除できます。

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

結論

Ubuntu 18.04にDocker Composeをインストールして使用する方法を学習しました。

Docker Composeを使用すると、ワークフローと生産性が大幅に向上します。 開発環境をDocker Composeで定義し、プロジェクトの協力者と共有できます。

ドッカーUbuntu