Dockerでよく使うコマンドをまとめてみた。
Dockerでよく使うコマンドをまとめてみた。
単純に私が忘れやすいから。自分用の備忘録として残します。
Dockerのインストール
インストールの手順は非常に簡単。CEをインストールすれば料金もかからない。
Dockerを使うためのリポジトリ設定
1 |
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
Docker CEをインストールするため、yumのリポジトリを追加
1 2 3 4 |
$ 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無料版
1 2 3 4 |
$ sudo yum install docker-ce //インストールを確認 $ sudo yum list installed | grep docker-ce |
Dockerサービスの起動
1 2 3 4 |
$ sudo systemctl start docker //起動の確認 $ sudo systemctl status docker |
Dockerサービス自動起動設定
この設定を怠ると、再起動の際に何も動いていない状態になる為、忘れてはいけない。
1 |
$ sudo systemctl enable docker |
Dockerの情報を確認
1 |
$ sudo docker info |
あまり使わないコマンド。利用が多いのは以降の展開されているイメージとコンテナの確認になる。
Docker-composeコマンドのインストール
1 2 3 4 |
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のバージョン確認
1 |
docker-compose --version |
Dockerイメージの確認
buildでイメージを作成しているとき、再ビルドすると新しいIDが採番され削除しないと残り続ける。imagesで確認し不要なものは削除がベター。
1 |
$ sudo docker images |
Dockerコンテナの確認
上同様に、使っていないけど残っているコンテナがある時は削除するのがベター。
1 |
$ sudo docker ps -a |
DockerにイメージをUP、コンテナ展開
イメージの取得と展開を行う。
公開されているDockerイメージを取得展開する
公開情報をそのまま利用する。しかしDockerを使おうと思った人は何かしらのシステムを作成している人だと思われる為、ほとんど実用用途は無いと思う。
1 2 |
//例としてhello-wordのDockerイメージ $ sudo docker run hello-world |
Dockerイメージを作成(ビルド)
ビルドと言いながらコンテナの展開まで一気に行ってくれる。
下のコマンド【 docker-compose up -d 】の場合はbuildの過程については表記されず結果だけの表示となるが、build コマンドで構築した場合、構築の流れまで見える。
1 2 3 4 5 |
$ 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させる方法もある様だがこちらの方がまとめやすく便利。
1 2 3 4 5 |
$ sudo docker-compose up -d //パスが通っていない時はエラーが発生する。その時は直接場所を指示する。 //【/usr/local/bin/】にdocker-compose をダウンロードした時の例 $ sudo /usr/local/bin/docker-compose up -d |
展開したコンテナを削除
イメージ削除には展開されているコンテナの削除を先に行っている必要がある。
イメージの再構成は、ここで展開されたイメージを削除してリビルドしてもうまくいかない事があるので注意する。
※この場合はコンテナ展開した時に作られたファイルを削除してあげるとクリーンで作成する
1 2 3 4 |
$ sudo docker rmi 【イメージID】 //このコマンドで削除しきれない時はオプション -fを追加する $ sudo docker rmi 【イメージID】 -f |
マウントしたイメージを削除
停止していないコンテナは削除できない事に注意する。
1 2 3 4 5 |
//コンテナが動いていると削除できないのでまず止める $ sudo docker stop 【コンテナ名】または【コンテナID】 //その後削除指示 $ sudo docker rm 【コンテナ名】または【コンテナID】 |
コンテナをすべて一気に止める
非常に便利なコマンド。これだけで稼働中のコンテナがすべて止まる。
1 |
$ sudo /usr/local/bin/docker-compose stop |
コンテナを全て一気に削除する
マウントされていないイメージのコンテナについては、このコマンドで削除できないため個別に削除が必要。
※マウントされていないイメージ:build:でイメージを作成した場合、構成の度に異なるIDを採番されるため『前に構成し展開したコンテナ』が残ってしまうことがある。
1 |
$ sudo /usr/local/bin/docker-compose rm |
コンテナの中で作業する
例えば、コンテナ展開時に作り切れていないパーツを補完するためにコマンドを打ちたいときがある。そんな時は『phpのコンテナに入ってcomposerをダウンロードする』などコンテナの中に入って操作する事で解決できる。
コンテナの中に入る
1 2 3 4 |
$ sudo docker-compose exec 【コンテナ名】 bash //【docker-compose】へのパスが通ていない時はパスから記載する。 $ sudo /usr/local/bin/docker-compose exec 【コンテナ名】 bash |
まとめ
うーん、なんかすげー勉強した気分。
久しぶりの初体験だったので超疲れました。
-
前の記事
Docker へのLaravelの移植を実行中。悪戦苦闘メモ 2020.02.28
-
次の記事
phpMyAdminを狙ったと思われる不正アクセスURL(攻撃対象URL)を晒します。 2020.02.29
コメントを残す