仍是看官方文檔吧TAT https://docs.docker.com/engine/getstarted/step_one/ 理解docker鏡像和容器 鏡像就是docker容器在運行的時候所使用的文件系統以及系統內核,以及其餘參數。固然,docker鏡像通常都會比實際的操做系統+軟件要輕便的多。 容器就是一個鏡像的運行實體。
# 查看docker的版本信息 $ docker version # 查看安裝docker的信息 $ docker info # 查看本機Docker中存在哪些鏡像 $ docker images # 檢索image $ docker search ubuntu:14.04 # 在docker中獲取ubuntu鏡像 $ docker pull ubuntu:14.04 # 顯示一個鏡像的歷史 $ docker history debugman007/ubt14-hadoop-hbase:v1 # 列出一個容器裏面被改變的文件或者目 $ docker diff debugman007/ubt14-hadoop-hbase:v1 # 從一個容器中取日誌 $ docker logs debugman007/ubt14-hadoop-hbase:v1 # 顯示一個運行的容器裏面的進程信息 $ docker top debugman007/ubt14-hadoop-hbase: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 "xxxxx" -a "debugman007" 容器ID debugman007/ubt14-hadoop-hbase:v1 # 參數: # -m參數用來來指定提交的說明信息; # -a能夠指定用戶信息的; # 容器ID表明的時容器的id; # debugman007/ubt14-hadoop-hbase:v1指定目標鏡像的用戶名、倉庫名和 tag 信息。 # 構建一個容器 $ docker build -t="debugman007/ubt14-hadoop-hbase: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 debugman007/ubt14-hadoop-hbase:v1 # 指定配置啓動 $ sudo docker run -d -p 10.211.55.4:9999:22 debugman007/ubt14-hadoop-hbase: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 容器名或者容器ID # stop 中止正在運行的容器 $ docker stop 容器名或者容器ID # restart 重啓容器 $ docker restart 容器名或者容器ID # rm 刪除容器 $ docker rm 容器名或者容器ID # rmi 刪除鏡像 $ docker rmi 鏡像名+tag或者鏡像ID # 登陸Docker Hub中心 $ docker login # 發佈上傳image(push) $ docker push debugman007/ubt14-hadoop-hbase:v1