Dockerを自分の仮想マシンに入れて、もらったコンテナを立ち上げるまでの作業をした時のメモ。
※ここではCentOS7に入れています
Dockerのインストール
CnetOS7にDockerを入れる。これがないとDockerは動かない。
おとなしく公式の「Install Docker Engine on CentOS 」をみながらやる。
Docker Engineのインストール
リポジトリをセット
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Docker Engineのインストール
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
古いバージョンはアンインストールしてから
古いバージョンが入っているときはアンインストールをしてからやる。
今回は入れていなかったのでこのコマンドはパス
sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine
Docker起動
インストールが完了したら、まずは起動してみる。
sudo systemctl start docker
無事に起動できたらHello World。
sudo docker run hello-world
Dockerは正常にインストール完了した!
使用中ポートの競合があると起動できない
ポートが使えないエラーメッセージが出て起動できないこともあるかもしれない。
メッセージに従って使っているシステムを特定し、ポートをDockerに譲る。
私の場合は仮想マシンを通常のWebアプリケーション開発環境に使っていたので、Apacheが80、MariaDBが3306を使っていて起動できない場面があった。
Docker起動中にこれらは使わないため、オフにしておく。
sudo systemctl stop mariadb
sudo systemctl stop httpd.service
Dockerを終了するときは一応確認した方がいいかも
Docker起動はCtrl + Cで全部終わらせることも多いけど、ちゃんと停止しているか確認した方がいい…かも。
sudo docker ps -a
もしexitステータスになっていないゾンビかな?みたいなものがあったらコンテナIDを指定してオフにする。
sudo docker stop [container id]
他の人からもらった環境の起動
チームメンバーからもらったDockerの起動。
docker-compose.ymlがあるディレクトリまで移動して、
sudo docker compose up
使用中ポートの競合でエラーになることがあるけれど、メッセージに従って調べてポートを譲ればOK(80と3306ならApacheとMariaDBを閉じる)。
docker-compose.ymlは指定の環境を構築する情報が書いてある
Dockerで環境構築するための情報が書いてある。
読むと誰でも魔法を発動できる、魔法の書みたいなものだと思ってる。
だって自分でイチからApache入れてMySQL入れて…ってやらなくていいんですよ。これが魔法のようだと言わずしてなんとするんですか。
インストールはそのための基礎詠唱中。
自分でDocker環境を構築するのはまだやっていない。いつか必要になったら、私もDocker魔法の書を書いてみたい。