網頁

2020年8月12日 星期三

Docker 安裝和使用

安裝參考 Install Docker Engine on Ubuntu
命令參考 docker-tutorial

查詢 docker 運行狀態
$ sudo systemctl status docker
將使用者加入 docker group
$ sudo usermod -aG docker ${USER}
確認是否加入 group
$ id -nG

Docker 名詞
Image 影像檔, 唯讀
Container 容器, 執行的影像檔, 可讀寫
Registry, 存放很多 image 地方,如 Docker HubNGC

查詢所有可用命令
$ docker
查詢特定的子命令
$ docker docker-subcommand --help
查詢Docker Hub可用的 ubuntu 映象
$ docker search ubuntu
下載 ubuntu 映像
$ docker pull ubuntu
查詢已下載的映象
$ docker images
運行 ubuntu image
$ docker run -it ubuntu
查詢 docker 目前啟動的 Container
$ docker ps
查詢 docker 所有的 Container
$ docker ps -a
刪除容器
$ docker rm container_id
刪除映像
$ docker image rm image_name

docker run 啟動Image(映像)成為Container(容器)
docker exec 執行 Container

啟動Image(映像), 並替 Container 取別名
$ docker run --name alias ubuntu
啟動Image(映像), 執行命令(ls -al), 後刪除 Container
$ docker run --rm ubuntu ls -al
啟動Image(映像), 並掛載目錄
$ docker run -v /host/path1:/container/path2 ubuntu
啟動Image(映像), 並影射網路 host:8080 到 container:80
$ docker run -p 8080:80 ubuntu

啟動 Container
$ docker start alias
利用 exec 執行命令 ls
$ docker exec alias ls
利用 exec 進入 Container 的 bash
$ docker exec -it alias bash
停止 Container
$ docker stop alias

啟動 Container 並直接進入
$ docker start -ai alias

退出 Container
# exit
或 <Ctrl+p> 再按 <Ctrl+q>
再次進入 Container,退出時直接停止 Container
$ docker attach alias

查詢 volumes mapping
$ docker inspect -f '{{ .Mounts }}' containerid

查詢 port mapping (container 必須啟動)
$ docker port containerid

沒有留言:

張貼留言