🐳
【Docker入門】Dockerプラットフォーム構築
Dockerプラットフォーム構築
macOS での Docker 環境構築についてまとめました。Webサーバーや MySQL、Portainer の活用例なども含めて、macOS に特化した手順で紹介します。
1. システムの準備と要件(macOS)
- 対応OS:macOS 10.15 (Catalina) 以降
- アーキテクチャ:Intel または Apple Silicon (M1/M2/M3)
- 必須ツール:Homebrew
確認コマンド:
$ sw_vers
$ uname -m
2. Docker Desktop のインストール(macOS)
1. Homebrew で Docker CLI をインストール(※Docker Desktop とは別)
$ brew install --cask docker
2. Docker Desktop の起動
アプリケーションフォルダから Docker.app を起動。
初回起動時にパスワード認証が求められます。
3. 動作確認
$ docker --version
$ docker info
※ Docker is running が表示されていればOK
4. 基本コマンドとコンテナの起動
$ docker pull centos:7
$ docker run -it --name=sys-container-1 centos:7 echo 'welcome docker!'
$ docker ps -a
$ docker run -it --name=sys-container-2 centos:7 bash
# yum install -y net-tools
5. Webサーバー(Nginx)コンテナの起動
$ docker pull nginx:1.25.0-alpine
$ docker run -d -p 8001:80 --name=my-webserver1 nginx:1.25.0-alpine
$ curl localhost:8001
静的ファイルの差し替え:
$ docker cp index.html my-webserver1:/usr/share/nginx/html/index.html
6. Dockerfile でカスタムイメージを作成
FROM nginx:1.25.0-alpine
COPY index-image.html /usr/share/nginx/html/index.html
COPY docker_logo.png /usr/share/nginx/html/docker_logo.png
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
$ docker build -t myweb:v1.0 .
$ docker run -d -p 8002:80 --name=my-webserver2 myweb:v1.0
7. MySQL / MariaDB コンテナの実行
MySQL:
$ docker pull mysql:5.7-debian
$ docker run -it -e MYSQL_ROOT_PASSWORD=pass123# mysql:5.7-debian /bin/bash
MariaDB:
$ docker run --name mariadb -e MYSQL_ROOT_PASSWORD=mkevin -d -e MARIADB_DATABASE=item -p 3306:3306 mariadb:10.2
$ docker exec -it mariadb /bin/bash
# service mysql start
8. Portainer によるGUI管理
$ docker pull portainer/portainer-ce
$ docker volume create portainer_data
$ docker run -d -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--restart=always \
portainer/portainer-ce
ブラウザで以下を開いて管理:
http://localhost:9000
- portainer 起動後、画面(※ 別途portainer記事を作成する予定)
まとめ
この macOS 版では、Docker Desktop を用いたコンテナ環境の構築から、Nginx やデータベース、Portainer の導入まで、GUI と CLI の両面からアプローチしました。Linux 環境とは少し異なりますが、非常に快適に学習・運用できるのが macOS の魅力です。
Discussion