3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AmazonLinux+Dockerシンプルハンズオン

Last updated at Posted at 2025-10-25

前提

項目 内容
対象OS Amazon Linux 2023
想定環境 EC2インスタンス(t2.micro以上)
目的 DockerおよびDocker Compose(v2系)の導入
接続方法 SSHでrootまたはsudoユーザーとして操作

1. Docker Engine のインストール

sudo dnf install -y docker


インストール後、サービスを有効化して起動します。
sudo systemctl enable docker
sudo systemctl start docker

状態確認:
sudo systemctl status docker

✅ active (running) になっていればOK。

動作確認:

docker run hello-world

✅ 下記メッセージが出れば成功:
Hello from Docker!
This message shows that your installation appears to be working correctly.

2. Docker Compose プラグインの導入

sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

動作確認:

docker compose version

✅ 出力例:
Docker Compose version v2.29.2

3. Web+DB(PHP+MariaDB)テスト環境の構築

ディレクトリ構成:

compose-test/
├ app/
│ └ index.php
└ docker-compose.yml
└ Dockerfile


ディレクトリ作成:

mkdir -p ~/compose-test/app
cd ~/compose-test

app/index.php作成:

 <?php
$pdo = new PDO('mysql:host=db;dbname=testdb', 'root', 'rootpass');
echo "<h2>Hello Docker Compose!</h2>";
?>

Dockerfile作成:

FROM php:8.2-apache
RUN apt-get update && docker-php-ext-install pdo pdo_mysql

docker-compose.yml作成:

services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db

  db:
    image: mariadb:10.5
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: testdb
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

起動・動作確認:

docker compose build --no-cache
docker compose up -d

状態確認:

docker ps

✅ 出力例:

CONTAINER ID   IMAGE                STATUS        PORTS
abcd1234       compose-test-web     Up 10 seconds 0.0.0.0:8080->80/tcp
efgh5678       mariadb:10.5         Up 10 seconds 3306/tcp

ブラウザで動作確認:

http://<EC2のパブリックIP>:8080

「Hello Docker Compose!」と表示されれば成功!

※Dockerfileとdocker-compose.ymlの2ファイルの中身について整理したくなり、別記事を書きました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?