Centos7 docker備忘録

設定

docker に必要なパッケージをインストール
yum install yum-utils device-mapper-persistent-data lvm2

docker repoの設定
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

dockerのインストール
yum install docker-ce

サービスを有効化
systemctl start docker

自動起動を設定
systemctl enable docker

サービスの一覧を確認
systemctl list-units --type=service

dockerをプロキシ配下で使用する時
docker.serviceをコピー
cp /usr/lib/systemd/system/docker.service /etc/systemd/system/
コピーしたdocker.serviceのExecStartコマンドの直前にProxyの設定を追加
Environment="HTTP_PROXY=http://user:pwd@proxy.example.com:8080"
設定を再読込 & Docker再起動
systemctl daemon-reload
systemctl restart docker

docker image の取得
docker pull centos:latest

docker run

コンテナに名前を付ける
docker run –name

コンテナのディレクトリとホストのディレクトリにリンクを貼る
docker run -v ホストのディレクトリ:コンテナのディレクト

インタラクティブなシェルに入る
docker run -it

バックグラウンドで実行する
docker run -d

ポートフォワードをする(ローカルポート:リモートポート)
docker run -p 10022:22

docker内でsystemdを操作する場合
docker run –privileged -d –name centos7 -p 10022:22 centos /sbin/init
docker exec -it centos7 /bin/bash

docker exec

デタッチ中のコンテナにオプションを付加してアタッチが可能。exitしてもコンテナは削除されない
docker exec -it centos7 /bin/bash

docker stop

稼働中のコンテナを停止する
docker stop コンテナID

docker rm

停止中のコンテナを削除する
docker rm コンテナID

docker inspect

コンテナの詳細情報を全て表示する
docker inspect コンテナID

docker network

ネットワークの一覧を表示させる
docker network ls

デフォルトのネットワークの詳細を表示させる
docker network inspect bridge

docker diff

コンテナを起動した後の変更点を表示する。「A」追加、「C」変更、「D」削除
docker diff コンテナID

docker commit

起動しているコンテナをイメージ化する(コンテナIDは通常、docker hubのアカウント/アプリ名)
docker commit コンテナID イメージ名:タグ

docker port

ホストに紐づけられているポートを確認する
docker port コンテナID [ポート番号]