1. 旧バージョンのクリーンアップ
既存の古いDockerパッケージがシステムに残っている場合、競合を避けるために以下のコマンドで削除します。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. Docker Engineのインストール
まず、リポジトリ管理に必要なツールをインストールします。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
次に、Dockerの公式リポジトリ(またはミラーサイト)をシステムに追加します。
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 必要に応じてミラーサイトへの書き換えを実行
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast
Docker Community Editionをインストールします。
sudo yum install -y docker-ce docker-ce-cli containerd.io
3. サービスの起動と管理
systemdを使用してDockerデーモンを制御します。
sudo systemctl start docker # 起動
sudo systemctl stop docker # 停止
sudo systemctl restart docker # 再起動
sudo systemctl enable docker # OS起動時の自動起動設定
インストールが正しく完了したか確認します。
docker --version
4. レジストリミラーの設定
イメージのダウンロード速度を向上させるために、ミラーサイトを設定ファイルに記述します。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://your-mirror-address.example.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5. MySQLコンテナの構築
最新のMySQLイメージを取得し、データ永続化のためのボリュームマウントを設定して起動します。
docker pull mysql:latest
docker run -d \
--name mysql-server \
-p 3306:3306 \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/logs:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=your_strong_password \
mysql:latest
設定ファイル(例:/opt/mysql/conf/my.cnf)のカスタマイズ例:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
6. Redisコンテナの構築
Redisを構築する際は、設定ファイルを事前にホスト側に準備しておくことが推奨されます。
mkdir -p /opt/redis/conf
touch /opt/redis/conf/redis.conf
docker run -d \
--name redis-server \
-p 6379:6379 \
-v /opt/redis/data:/data \
-v /opt/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
redis redis-server /usr/local/etc/redis/redis.conf
redis.confに追記すべき基本設定:
# データ永続化の有効化
appendonly yes
# パスワード設定
requirepass your_password
7. 運用で役立つ共通コマンド
日常的なコンテナ管理で使用する主要なコマンド群です。
- コンテナの状態確認:
docker ps(実行中のみ)、docker ps -a(停止中を含む全コンテナ) - イメージ一覧の表示:
docker images - コンテナの削除:
docker rm [Container_ID] - 強制削除(実行中):
docker rm -f [Container_ID] - コンテナ内へのアクセス:
docker exec -it [Container_Name] /bin/bash - ログの確認:
docker logs -f [Container_Name]