Help us understand the problem. What is going on with this article?

docker コマンド集

Use Docker command line client

docker コンテナ実行

docker run [image]
image = docker hubなどにあるもの
e.g.) hello-world

docker コンテナ実行(インタラクティブモード)

docker run -t -i [image] [cmd]
e.g.) docker run -t -i ubuntu /bin/bash

docker コンテナ実行(background + Port開放 + name割当)

docker run -d -P --name hello-world-app training/webapp python app.py
---
-dはdeamon(background)
-Pはネットワークポートの開放(自動割当)
--nameは名前の割当
---
docker  ps  で確認されて割り当てられたポートで内部からアクセスできる
e.g.)curl http://localhost:<port>/

docker コンテナ実行(background + Port開放 + name割当)

docker run -d -p 80:5000 --name webapp training/webapp python app.py
---
-pオプションはポート番号を手動で割り振れる
---
docker  ps  で確認されて割り当てられたポートで内部からアクセスできる
e.g.)curl http://localhost:80/
実はこれでもう80番ポートを開放しているので外部からアクセスできる(httpは80番なので、80を省略)
e.g.)http://[このサーバーのグローバルIP]/ ←これでブラウザからアクセス可能

docker コンテナ停止

 docker stop -t 0 [name]
 nameはimage_nameではなく、docker_psでみれるname
 -t は停止までの時間。指定しなければ10, 0だと即時終了

docker コンテナ実行中確認

docker ps

docker コンテナ一覧確認(未実行含む)

docker ps -a

docker image 削除

docker rm [image_layer_name] 
image_layer_name = docker ps -a 出てくるもの

docker image 取得

docker image pull [image_name]
e.g.) docker image pull ubuntu

docker image 取得(特定のver)

docker image pull [image_name]:[version]
e.g.) docker image pull ubuntu:14.04

docker image一覧

docker image ls

docker image 調査

docker inspect [name]

docker image 調査(フィルター)

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [name]

docker exec(既に起動しているコンテナにコマンド実行)

docker exec [name] ps aux
これだと ps auxを実行させる

docker exec(既に起動しているコンテナにコマンド実行をインタラクティブモードで)

docker exec -it [name] bash
root@249476631f7d:/opt/webapp# ps aux

docker ファイルコピー

docker cp [origin] [copy]
e.g.) docker cp webapp:/opt/webapp/app.py .
この場合、webappのコンテナの中にあるapp.pyをlocalにコピー
---
e.g.)docker cp app.py webapp:/opt/webapp/
この場合、localにあるapp.pyをwebappのコンテナの指定の場所にコピー

その他

Persisted Volume

accessModes
PVのアクセスモードを指定する。アクセスモードは現在以下の3種類。

ReadWriteOnce : 単一Nodeで読み書きが可能
ReadOnlyMany : 複数Nodeで読み込みが可能
ReadWriteMany : 複数Nodeから読み書きが可能
k-tetsuhiro
東京→福岡に移住してエンジニアをしてます! YoutubeやインスタでFukuokaBaseでも活動しています〜! Youtube : https://www.youtube.com/channel/UCZ7rtcqhTJCBpy9gTMHp5SQ Instagram : https://www.instagram.com/fukuokabase/
https://www.youtube.com/channel/UCZ7rtcqhTJCBpy9gTMHp5SQ
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away