介紹影片:
更多介紹文:
更多站內文章:
Virtual Machines v.s Docker
man docker <command> man docker build man docker rmi
// 搜尋 Docker Hub 上的 image name docker search lamp // 顯示已下載所有 image name docker images // 檢視既有 image 的詳細資訊 docker inspect <image-name> // 網路下載 image docker pull ubuntu:13.10 // 刪除已下載的 image docker rmi <image-name> // 刪除所有 images docker rmi $(docker images -q) // 刪除所有 images,除了 my-images 以外 docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})
TIPs:
搜尋 Docker Hub 有哪些 images 可下載,https://registry.hub.docker.com/。
image 不用刻意下載,當開啟 container 時,如果 image 不存在,系統會自動下載。
Image Name 格式 <REPOSITORY>:<TAG> 例如 buntu:13.10
// 開啟並進入 container 的 console docker run -i -t <image-name> /bin/bash // 以 daemon 方式啟動 container docker run -d -p 11180:80 <image-name> // 檢查目前已經啟動的 containers docker ps docker ps -a // 檢視開啟中 container 的詳細資訊,包含 Volumes、IP、Hostname 等等 docker inspect <container-id> // 刪除指定的 container docker rm <container-id> // 刪除所有的 containers NOTE: 小心,這也會刪除正在執行的 container docker ps -a -q | xargs -n 1 docker rm // 刪除所有已經終止的 container docker ps -a | grep "Exited" | awk '{print $1}' | xargs docker rm NOTE: 這常用於在重新啟動 container 或 rebuild image 時遇到錯誤訊息的解決方法。 // 停止 container docker stop <container-id> // 匯出 container docker export <container-id> > ubuntu-mysql.tar // 匯入 container cat ubuntu-mysql.tar | docker import - <image-name> // 跳離目前開啟中的 container 按下 Ctrl P 後再按 Ctrl Q // 重新進入開啟中的 container docker attach <container-id> 或 docker attach <container-name> // 儲存開啟中 container 內容 docker commit <container-id> <image-name>
TIP:
執行 exit 可以離開目前的 container,回到原先的 Linux
一旦離開 container,所有之前做過的變更,將全部失效,如果要保留做過的變更,必須使用 commit 產生一個新的 image。
-p 將 Host 的 port 11180 轉送至 container 的 port 80
// 檢查 Docker 版本 docker version // Docker 更多資訊 docker info