前言
Docker是一個用了一種新穎方式實現的超輕量虛擬機,在實現的原理和應用上還是和VM有巨大差別,專業的叫法是應用容器(Application Container)。下面這篇文章將簡單介紹一下Docker常用的一些基礎命令。
# 在ubuntu中安裝docker$ sudo apt-get install docker.io# 查看docker的版本信息$ docker version# 查看安裝docker的信息$ docker info# 查看本機Docker中存在哪些鏡像$ docker images# 檢索image$ docker search ubuntu:14.04# 在docker中獲取ubuntu鏡像$ docker pull ubuntu:14.04# 顯示一個鏡像的歷史$ docker history birdben/ubuntu:v1# 列出一個容器里面被改變的文件或者目$ docker diff birdben/ubuntu:v1# 從一個容器中取日志$ docker logs birdben/ubuntu:v1# 顯示一個運行的容器里面的進程信息$ docker top birdben/ubuntu:v1# 從容器里面拷貝文件/目錄到本地一個路徑$ docker cp ID:/container_path to_path# 列出當前所有正在運行的容器$ docker ps# 列出所有的容器$ docker ps -a# 列出最近一次啟動的容器$ docker ps -l# 查看容器的相關信息$ docker inspect $CONTAINER_ID# 顯示容器IP地址和端口號,如果輸出是空的說明沒有配置IP地址(不同的Docker容器可以通過此IP地址互相訪問)$ docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID# 保存對容器的修改 $ docker commit -m "Added ssh from ubuntu14.04" -a "birdben" 6s56d43f627f3 birdben/ubuntu:v1# 參數:# -m參數用來來指定提交的說明信息;# -a可以指定用戶信息的;# 6s56d43f627f3代表的時容器的id;# birdben/ubuntu:v1指定目標鏡像的用戶名、倉庫名和 tag 信息。# 構建一個容器 $ docker build -t="birdben/ubuntu:v1" .# 參數:# -t為構建的鏡像制定一個標簽,便于記憶/索引等# . 指定Dockerfile文件在當前目錄下,也可以替換為一個具體的 Dockerfile 的路徑。# 在docker中運行ubuntu鏡像$ docker run <相關參數> <鏡像 ID> <初始命令># 守護模式啟動$ docker run -it ubuntu:14.04# 交互模式啟動$ docker run -it ubuntu:14.04 /bin/bash# 指定端口號啟動$ docker run -p 80:80 birdben/ubuntu:v1# 指定配置啟動$ sudo docker run -d -p 10.211.55.4:9999:22 birdben/ubuntu:v1 '/usr/sbin/sshd' -D# 參數:# -d:表示以“守護模式”執行,日志不會出現在輸出終端上。# -i:表示以“交互模式”運行容器,-i 則讓容器的標準輸入保持打開# -t:表示容器啟動后會進入其命令行,-t 選項讓Docker分配一個偽終端(pseudo-tty)并綁定到容器的標準輸入上# -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>,-v 標記來創建一個數據卷并掛載到容器里。在一次 run 中多次使用可以掛載多個數據卷。# -p:表示宿主機與容器的端口映射,此時將容器內部的 22 端口映射為宿主機的 9999 端口,這樣就向外界暴露了 9999 端口,可通過 Docker 網橋來訪問容器內部的 22 端口了。# 注意:這里使用的是宿主機的 IP 地址:10.211.55.4,與對外暴露的端口號 9999,它映射容器內部的端口號 22。ssh外部需要訪問:ssh root@10.211.55.4 -p 9999# 不一定要使用“鏡像 ID”,也可以使用“倉庫名:標簽名”# start 啟動容器$ docker start 117843ade696117843ade696# stop 停止正在運行的容器$ docker stop 117843ade696117843ade696# restart 重啟容器$ docker restart 117843ade696117843ade696# rm 刪除容器$ docker rm 117843ade696117843ade696# rmi 刪除鏡像$ docker rmi ed9c93747fe1Deleted# 登錄Docker Hub中心$ docker login# 發布上傳image(push)$ docker push birdben/ubuntu:v1
當利用 docker run 來創建容器時,Docker 在后臺運行的標準操作包括:
1、檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
2、利用鏡像創建并啟動一個容器
3、分配一個文件系統,并在只讀的鏡像層外面掛載一層可讀寫層
4、從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去
5、從地址池配置一個 ip 地址給容器
6、執行用戶指定的應用程序
7、執行完畢后容器被終止
總結
關于Docker常用的基礎命令就基本總結這些,希望對有需要的朋友們能有所幫助,如果大家有疑問可以留言交流。
新聞熱點
疑難解答
圖片精選