技術

【Docker/Mac】Dockerコマンド

投稿日:2016年5月19日 更新日:

どうも中田です。

今回はDocker。
巷でよく話には出てましたが使ってみるとめちゃ便利。
雑ですが、作業で使いそうなコマンドをピックアップ!

 
 

■事前準備

・VirtualBoxのインストール
・Docker-toolboxのインストール(Docker Tookbox

 
 
 

■VM操作(docker-machine)

VM作成

$ docker-machine create --driver virtualbox default

VM一覧

$ docker-machine ls

VM開始

$ docker-machine start default

VM環境設定確認

$ docker-machine env default

シェルをdefalutのVMにつなぐ

$ eval "$(docker-machine env default)"

hello-worldコンテナ実行

$ docker run hello-world

 

※この辺はDocker Quick Start Terminal.app を実行したら自動的に実施されるのですが、
手動でやるとしたらこうってことです。

 
 
 

■イメージ操作(docker)

イメージ検索

$ docker search ubuntu

イメージ取得

$ docker pull ubuntu
$ docker pull ubuntu:12.04 <--バージョン指定

イメージ登録

$ docker push ubuntu

イメージ削除

$ docker rmi *image_id*

イメージ作成(コミット)

$ docker commit *container_id* *image_name*

イメージエクスポート

$ docker save *image_id* > filename.tar

イメージインポート

$ docker load < filename.tar

 

イメージからコンテナ生成(docker run)

ホスト名付与(-h)

$ docker run -h *hostname* -i -t ubuntu /bin/bash

ポートフォワード(host:8080 -> guest:80)

$ docker run -i -t -p 8080:80 ubuntu /bin/bash

コンテナ名付与(–name)

$ docker run --name *container_name* -i -t ubuntu /bin/bash

起動後のインタラクティブモード(-i)

$ docker run -i -t ubuntu /bin/bash

終了時のコンテナ破棄(-rm)

$ docker run --rm -t -i ubuntu /bin/bash

CPU使用率指定(-c)

$ docker run -c 200 -i -t ubuntu /bin/bash

メモリ指定(-m)

$ docker run -m 512m -i -t ubuntu /bin/bash

コンテナバックグラウンド起動(-d)

$ docker run -i -t -d ubuntu /bin/bash

ホストディレクトリのマウント

$ docker run -v /home/user/dir:/root/dir

 
 
 

■コンテナ操作

コンテナ一覧

$ docker ps -a

コンテナ起動

$ docker start -a *container_id*
-a は “attach”

コンテナ停止

$ docker stop *container_id*

コンテナ再起動

$ docker restart *container_id*

コンテナログイン(起動中コンテナ)

$ docker attach --sig-proxy=false *container_id*

コンテナ削除

$ docker rm *container_id*

コンテナ全削除

$ docker rm $(docker ps -a -q)

コンテナエクスポート

$ docker export *container_id* > filename.tar

コンテナインポート(URL)

$ docker import url *image_id*

コンテナインポート(ファイル)

$ cat filename.tar | docker import - *image_id*

コンテナからイメージ作成(コミット)

$ docker commit *container_id* *image_name*

 
 

脳内イメージ

IMG_3047

-技術
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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

関連記事

[Slack] スラッシュコマンドでamazon検索

Slackネタです。 amazonがSlackの買収を検討しているとかいないとか …

ASCIIコード表のMarkdown(転用可能)

どうも中田です。 特に意味はないですが、ASCIIコード表をMarkdownで作 …

[Angular6] Angularのユニットテストでprivate変数を読み込む

Angularでテストコードを書いている時、component側で定義しているp …

[Rails]遷移元のURLを表示する方法

こんにちは。たなかです。 「このページから遷移してきた時は、こう処理したい」みた …

no image

【AngularJS】 $on, $emit, $broadcast

どうも、なかたです。 AngularJSのコントローラー(スコープ)間のデータや …