星期一, 7月 06, 2015

[Docker] 快快樂樂學Docker指令集

由於上周為了在MAC上面安裝跟開發機一樣的環境,結果費時費力還會爆炸,決定使用docker來統一一下開發的環境。

測試環境

Mac OS X 10.9.5

安裝Docker

1. 下載boot2docker
https://github.com/boot2docker/osx-installer/releases/

安裝後docker 和 boot2docker 的執行檔就已經放在 /usr/local/bin,而且也會多裝一個Virtualbox,因為docker是要跑在linux核心上面

2. 安裝新的linuxVM

$boot2docker init

執行過程中,會去下載 boot2docker.iso,並建立 Linux VM

3. 啟動 boot2docker-vm 虛擬機器 => 有了這個VM才有辦法開始使用docker
$boot2docker start


啟動後會提示需要export 以上設定,否則無法使用docker指令集



另外boot2docker安裝後,可以在應用程式看到一個boot2ocker iCON,也可以用來開這個vm



boot2docker 其他指令集

#取得boot2docker VM IP
$boot2docker ip

#可以在啟動前,先檢查有沒有新版的images
$boot2docker upgrade

docker常用指令集


記錄一下目前想到要應用情境下用到的指令集XD

IMAGES相關


#下載image
$docker pull

#列出目前已下載的所有images
$docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              latest              6d4946999d4f        3 weeks ago         188.3 MB
tungyi/sa30         latest              9ef65d776977        6 weeks ago         1.013 GB
hello-world         latest              91c95931e552        11 weeks ago        910 B

#刪除images
$docker rmi IMAGE_ID
$socker rmi 9ef65d776977

CONTAINER 相關

#開啟一個container (同一個image一直run就會產生不同的container)
$docker run -it YOUR_IMAGE_NAME DOCKER_BASH_PATH;
$docker run -it ubuntu bash;

#列出目前正常跑的container
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
db68ce58b4e1        ubuntu              "bash"              13 minutes ago      Up 2 minutes                            kickass_jang  

#重新開啟container,STATUS為exit 
$docker start CONTAINER_ID

#在退出container後,如何再連回去,指令下完要動一下方向鍵,畫面才不會卡住:D
$docker attach CONTAINER_ID

#進到container後,如何離開後關機(container會關機)
$exit 

#進到container後,如何離開後不關機(container不會關機)
$ctrl + Q  

Or

$ctrl + P

#關閉現有的所有containers => 等於進入每一個container後按exit退出的效果
$docker stop $(docker ps -a -q)

#刪除一個container 
$docker rm CONTAINER_ID


CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
db68ce58b4e1        ubuntu              "bash"              23 minutes ago      Exited (0) 29 seconds ago                       kickass_jang 

#將HOST的目錄mount到docker container的目錄
$docker run -d -i -t -v HOST_PATH:CONTAINER_PATH  YOUR_IMAGE_NAME DOCKER_BASH_PATH 

$docker run -d -i -t -v /Users/bigd/Desktop/:/docker/file ubuntu bash

沒有留言:

張貼留言

留個話吧:)