技術

【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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[Ionic] error: archive not found at path ‘platforms/ios/〇〇.xcarchive’ ** EXPORT FAILED **

こんにちは。たなかです。   Ionicを利用したアプリ開発もラストス …

no image

TypescriptでMap使用時にコンパイルエラー

こんにちは 連想配列で重複を省く処理をしたい時にMapを使用することがあります。 …

no image

[Rails]if文とcontent_for

こんばんは content_for便利ですよね。 今回はcontent_forと …

CentOS7でDocker内部からpingができない(外部通信できない)!

どうもなかたです CentOS7にDocker入れて、Docker内部から外に向 …

no image

【nginx/unicorn】(13: Permission denied) while connecting to upstream

どうも中田です。 AWS上でAPIサーバを構築してて、 * Webサーバ:ngi …