Docker - 指令記錄
很常忘記,又要去查,不如自己記一下 😛
image 列表 :
docker images
下載 image :
docker pull 【image】
查詢 image :
docker search 【image】
用 image 輸出字串 :
docker run 【image id】 /bin/echo ‘Hello world’
看運行中的 container :
docker ps
看所有的 container :
docker ps -a
刪除 container :
docker rm 【container name】
刪除所有的 container :
docker rm $(docker ps -a -q)
刪除 image :
docker rmi 【image id】
docker run :
不保留 container 的執行指令 :
docker run 「–rm=ture」【image id】 /bin/echo ‘Hello world’
「-t」讓Docker分配一個虛擬終端(pseudo-tty)並綁定到容器的標準輸入上,
「-i」保持可輸入的狀態
container 存成 image :
docker commit 【container id】 【new image name】
用 dockerfile 建 image :
mkdir 【資料匣名稱】
cd 【資料匣名稱】
vi Dockerfile
docker build -t=【新 image 的 name】 .
安裝 nodejs,用vim 寫一個 Dockerfile
#以什麼 image 為基礎
FROM ubuntu:14.04
#維護的名稱
MAINTAINER Xavier
#線上更新
RUN apt-get -qq update
#安裝 curl
RUN apt-get -qqy install -y curl
#下載nodejs
RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash –
#安裝
RUN apt-get install -y nodejs
#測試一下安裝後可不可以執行指令
RUN node -v
然後執行這個 Dockerfile 來建 image
# –rm 不會在建立好 image 同時建一個 container
# –t 設定 image 名稱
# 除非指定路徑名稱,不然最後不能少掉一個「 . 」,主要是用來指定路徑,表示為Dockerfile 所在的路徑
docker build –rm -t nodejs-xavier .
docker build –rm -t nodejs-xavier 【路徑】
然後建一個 container 執行指令
docker run -t -i 【image id】 node -v
如果要在建立時執行.js 檔,可以先把檔案 copy 到 container 裡
所以在 Dockerfile 加入
COPY xxx.js /xxx.js
RUN node xxx.jsdocker exec 【container id】【指令】
docker run –name 【別名】 【image id】ping localhost
再開一個視窗用 docker exec 連到這個 container 試試