Docker - 指令記錄

xx online
xx want to say something
3 min readJan 14, 2019

很常忘記,又要去查,不如自己記一下 😛

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.js

docker exec 【container id】【指令】

docker run –name 【別名】 【image id】ping localhost

再開一個視窗用 docker exec 連到這個 container 試試

--

--