天天看點

Docker常用指令

鏡像:Docker 鏡像是用于建立 Docker 容器的模闆

容器:容器是獨立運作的一個或一組應用

倉庫:用來儲存鏡像,可以了解為代碼控制中的代碼倉庫

一個倉庫中包含多個鏡像,以鏡像為模闆可建立出多個容器,每個容器是獨立運作的一個或者一組應用。 容器是鏡像的執行個體,鏡像是容器的模闆 。

簡略:

容器生命周期:run、start/stop/restart、kill、rm、pause/unpause、create、exec

容器操作:ps、inspect、top、attach、events、logs、wait、export、port

容器rootfs:commit、cp、diff

鏡像倉庫:login/logout、pull、push、search

本地鏡像管理:images、rmi、tag、build、history、save、import

info|version:info、version       【docker info/vaersion分别檢視系統資訊和版本資訊】

一:容器

增:

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]  #建立一個新的容器但不啟動它

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  #建立一個新的容器并運作一個指令      

進:

docker exec -ti <container name/id> #不會像attach方式因為退出,導緻整個容器退出。                
docker attach  <container name/id> #進入虛拟機,如果從這個stdin中exit,會導緻容器的停止。      

開啟/停止/重新開機

docker container  start/stop/restart   <hash>       

删:

docker container rm <hash> # 從此機器中移除指定的容器【删除容器時,容器必須是停止狀态,否則會報如下錯誤】
docker container rm $(docker container ls -a -q) # 删除所有容器
docker container kill <hash> # 強制關閉指定的容器      

查:

docker container ls # 列出所有運作的容器
docker container ls -a # 列出所有的容器

docker ps # 檢視我們正在運作的容器
      
docker ps -l # 查詢最後一次建立的容器      
docker logs <container id> # 檢視容器内的标準輸出
docker logs <container name> # 檢視容器内的标準輸出


docker port <container name/id> <port> # 檢視容器端口的映射情況

docker inspect <container id/name> #檢視Docker的底層資訊,它會傳回一個 JSON 檔案記錄着 Docker 容器的配置和狀态資訊      

二:鏡像

docker build -t friendlyname . # 使用此目錄的“Dockerfile”建立鏡像
docker push 192.168.1.52:5000/zabbix #送出鏡像到本地私有
docker pull ubuntu:13.10 # 下載下傳ubuntu:13.10鏡像      
docker image rm <image id> # 從機器中移除指定鏡像
docker image rm $(docker image ls -a -q) # 從機器上移除所有鏡像      
docker image ls -a # 列出機器上所有鏡像
docker search httpd # 通過 docker search 指令搜尋 httpd 來尋找适合我們的鏡像      

運:

docker run httpd # 使用鏡像倉庫      

#鏡像标簽

docker tag <image> username/repository:tag # 标簽<image>上傳到倉庫【repository為鏡像源名】

docker push username/repository:tag # 上傳标記的圖像到系統資料庫

docker run username/repository:tag # 從系統資料庫運作映像

三:其他

docker login # 使用您的Docker憑據登入此CLI會話

docker run -d -p 127.0.0.1:4000:80/udp friendlyname # 背景運作"friendlyname" 鏡像并将4000 端口映射到80端口

# -P:将容器内部使用的網絡端口映射到我們使用的主機上

# -d:讓容器在背景運作

# 預設都是綁定 tcp 端口,如果要綁定 UDP 端口,可以在端口後面加上 /udp

docker run ubuntu:15.10 /bin/echo "Hello world" #Docker 以 ubuntu15.10 鏡像建立一個新容器,然後在容器裡執行 bin/echo "Hello world",然後輸出結果。

docker run -d -P --name runoob training/webapp python app.py #對容器鏡像重新命名