Dockerでよく使うコマンドをまとめてみた。

Dockerでよく使うコマンドをまとめてみた。

単純に私が忘れやすいから。自分用の備忘録として残します。

Dockerのインストール

インストールの手順は非常に簡単。CEをインストールすれば料金もかからない。

Dockerを使うためのリポジトリ設定

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Docker CEをインストールするため、yumのリポジトリを追加

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

//docker-ce.repoの追加を確認
$ sudo ls -l /etc/yum.repos.d/

Dockerインストール

Docker CEをインストール ※Docker CE = Docker無料版

$ sudo yum install docker-ce

//インストールを確認
$ sudo yum list installed | grep docker-ce

Dockerサービスの起動

$ sudo systemctl start docker

//起動の確認
$ sudo systemctl status docker

Dockerサービス自動起動設定

この設定を怠ると、再起動の際に何も動いていない状態になる為、忘れてはいけない。

$ sudo systemctl enable docker

Dockerの情報を確認

$ sudo docker info

あまり使わないコマンド。利用が多いのは以降の展開されているイメージとコンテナの確認になる。

Docker-composeコマンドのインストール

sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

//docker-composeコマンドのパス作成
sudo chmod +x /usr/local/bin/docker-compose

docker-composeのバージョン確認

docker-compose --version

Dockerイメージの確認

buildでイメージを作成しているとき、再ビルドすると新しいIDが採番され削除しないと残り続ける。imagesで確認し不要なものは削除がベター。

$ sudo docker images

Dockerコンテナの確認

上同様に、使っていないけど残っているコンテナがある時は削除するのがベター。

$ sudo docker ps -a

DockerにイメージをUP、コンテナ展開

イメージの取得と展開を行う。

公開されているDockerイメージを取得展開する

公開情報をそのまま利用する。しかしDockerを使おうと思った人は何かしらのシステムを作成している人だと思われる為、ほとんど実用用途は無いと思う。

//例としてhello-wordのDockerイメージ
$ sudo docker run hello-world

Dockerイメージを作成(ビルド)

ビルドと言いながらコンテナの展開まで一気に行ってくれる。

下のコマンド【 docker-compose up -d 】の場合はbuildの過程については表記されず結果だけの表示となるが、build コマンドで構築した場合、構築の流れまで見える。

$ sudo docker-compose build

//パスが通っていない時はエラーが発生する。その時は直接場所を指示する。
//【/usr/local/bin/】にdocker-compose をダウンロードした時の例 
$ sudo /usr/local/bin/docker-compose build

Dockerにイメージを構築

docker-comoposem.ymlを作成した場合、該当ファイルのあるフォルダに入って下コマンドを実行。
docker-comoposem.ymlを利用しない場合は、上のコマンドの要領でDockerfileをrunさせる方法もある様だがこちらの方がまとめやすく便利。

$ sudo docker-compose up -d

//パスが通っていない時はエラーが発生する。その時は直接場所を指示する。
//【/usr/local/bin/】にdocker-compose をダウンロードした時の例
$ sudo /usr/local/bin/docker-compose up -d

展開したコンテナを削除

イメージ削除には展開されているコンテナの削除を先に行っている必要がある。
イメージの再構成は、ここで展開されたイメージを削除してリビルドしてもうまくいかない事があるので注意する。
※この場合はコンテナ展開した時に作られたファイルを削除してあげるとクリーンで作成する

$ sudo docker rmi 【イメージID】

//このコマンドで削除しきれない時はオプション -fを追加する
$ sudo docker rmi 【イメージID】 -f

マウントしたイメージを削除

停止していないコンテナは削除できない事に注意する。

//コンテナが動いていると削除できないのでまず止める
$ sudo docker stop 【コンテナ名】または【コンテナID】

//その後削除指示
$ sudo docker rm 【コンテナ名】または【コンテナID】

コンテナをすべて一気に止める

非常に便利なコマンド。これだけで稼働中のコンテナがすべて止まる。

$ sudo /usr/local/bin/docker-compose stop

コンテナを全て一気に削除する

マウントされていないイメージのコンテナについては、このコマンドで削除できないため個別に削除が必要。
※マウントされていないイメージ:build:でイメージを作成した場合、構成の度に異なるIDを採番されるため『前に構成し展開したコンテナ』が残ってしまうことがある。

$ sudo /usr/local/bin/docker-compose rm

コンテナの中で作業する

例えば、コンテナ展開時に作り切れていないパーツを補完するためにコマンドを打ちたいときがある。そんな時は『phpのコンテナに入ってcomposerをダウンロードする』などコンテナの中に入って操作する事で解決できる。

コンテナの中に入る

$ sudo docker-compose exec 【コンテナ名】 bash

//【docker-compose】へのパスが通ていない時はパスから記載する。
$ sudo /usr/local/bin/docker-compose exec 【コンテナ名】 bash

まとめ

うーん、なんかすげー勉強した気分。

久しぶりの初体験だったので超疲れました。

\ 最新情報をチェック /

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください