まず、DockerとDocker Composeをインストールします。それぞれの公式のドキュメントを参照して、環境に合わせたインストール手順を実行してください。
次に、Portainerをインストールします。Portainerは、Dockerコンテナとして提供されているため、以下のコマンドを使用して簡単に起動できます。
docker volume create portainer_data
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
上記のコマンドは、portainer_data
という名前のボリュームを作成し、Portainerコンテナをバックグラウンドで起動します。Portainerはポート9000でアクセスできるようになります。
Portainerにアクセスするには、Webブラウザでhttp://localhost:9000
に移動します。初回アクセス時には、管理者アカウントの作成を求められるので、適切な情報を入力してアカウントを作成してください。
Portainerにログインしたら、左側のメニューから「Stacks」を選択し、新しいスタックを作成します。スタックは、Docker Composeファイルを使用して複数のコンテナを一括で起動するためのものです。
新しいスタックを作成すると、Docker Composeファイルを入力する画面が表示されます。適切なDocker Composeファイルを作成し、コード例を使用してその内容を説明します。以下は、簡単な例です。
version: '3'
services:
web:
image: nginx
ports:
- 80:80
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=my-secret-pw
- MYSQL_DATABASE=mydb
- MYSQL_USER=myuser
- MYSQL_PASSWORD=mypassword
上記のDocker Composeファイルでは、Webサーバーとデータベースサーバーの2つのコンテナが定義されています。WebサーバーはNginxイメージを使用し、ポート80でアクセス可能です。データベースサーバーはMySQLイメージを使用し、環境変数を設定しています。
Docker Composeファイルを入力したら、保存してスタックをデプロイします。Portainerは自動的に指定されたDocker Composeファイルを解釈し、コンテナを起動します。
これで、Docker Composeを使用して複数のコンテナを一括で起動する方法がわかりました。Portainerを使用することで、視覚的なインターフェースを介してコンテナの管理も容易になります。ぜひ、これらの手順とコード例を参考にして、自分のプロジェクトでDocker Composeを活用してみてください。