docker 應用-1(安裝以及基礎命令)

Docker 安裝

仍是看官方文檔吧TAT
https://docs.docker.com/engine/getstarted/step_one/

理解docker鏡像和容器
鏡像就是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
相關文章
相關標籤/搜索