關於網路那些事...

網路行銷,SEO,網路趨勢,教學文章,網頁設計,生活時事

Docker - 常用指令介紹

【 Docker 】

關閉 Docker
docker-compose down

【 Container 】

建立container
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

OPTION:

-d 表示在背景( Detached )執行,Docker 預設前景( foreground )執行

-p 表示將本機 8080 port 的來源轉發到 container 的 80 port

--name 表示為 container 的名稱

--rm 表示當 exit container 時,會移除 container( incompatible with -d )

ex.

docker run -d -p 80:80 --name my_image nginx

//exit container 時,會自動移除 containe
docker run -it --rm busybox
檢查 container 運行狀況

目前運行的 container

docker ps

檢查目前所有container (包括未運行的)

docker ps -a
停止 container
docker stop [OPTIONS] CONTAINER [CONTAINER...]
重新啟動 container
docker restart [OPTIONS] CONTAINER [CONTAINER...]
刪除container

--volumes , -v 參數,可以於刪除 container 同時移除掉連接到 container 的 volume。

docker rm [OPTIONS] CONTAINER [CONTAINER...]
刪除所有正在運行的 container
docker stop $(docker ps -q)

【 管理container 】

進入 container
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
docker exec -it <Container ID> bash
查看container 中的linux版本
cat /etc/os-release
查看 log

--follow , -f , Follow log output

docker logs [OPTIONS] CONTAINER
查看container process CPU/IO..
docker stats [OPTIONS] [CONTAINER...]
停用 container 中的 process
docker pause CONTAINER [CONTAINER...]
檢查 container 列表
docker container ls

【 鏡像 Images 】

安裝鏡像
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
檢查已安裝的鏡像

Check installed Images

docker images
刪除鏡像
docker rmi [OPTIONS] IMAGE [IMAGE...]
打包鏡像檔
docker save [OPTIONS] IMAGE [IMAGE...]

//ex
docker save nginx > mynginximages.tar
載入鏡像檔
docker load [OPTIONS]

//ex
docker load < mynginximages.tar
檢查鏡像檔歷史紀錄
docker history [OPTIONS] IMAGE
刪除 deling Images
docker rmi $(docker images -q -f dangling=true)
docker rmi $(docker images  --quiet --filter dangling=true)

【 Volume 】

Volume 是 Docker 推薦存放數據的方式

查看 volume
docker volume ls [OPTIONS]
建立 volume
docker volume create [OPTIONS] [VOLUME]
刪除 volume
docker volume rm [OPTIONS] VOLUME [VOLUME...]
查看 volume 說明
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
移除未使用的 volume
docker volume prune [OPTIONS]

【 network 】

查看當下網路狀況

Docker 網路模式有: Bridge(預設)、Host、None

docker network ls [OPTIONS]

//ex.
docker run -it --name mydocbox --rm --network=host mydocbox
建立 network
docker network create [OPTIONS] NETWORK
移除 network
docker network rm NETWORK [NETWORK...]
移除未使用的network
docker network prune [OPTIONS]
查看 network
docker network inspect [OPTIONS] NETWORK [NETWORK...]
container 連結 network
docker network connect [OPTIONS] NETWORK CONTAINER 
container 中斷network連線
docker network disconnect [OPTIONS] NETWORK CONTAINER
User Bridge Network

User bridge network 可以經由內建的 DNS 伺服器,讓容器跟容器之間可以直接用名稱溝通
只要透過名稱,就可以直接解析出IP

這部分推薦仔細研究

https://docs.docker.com/network/bridge/#connect-a-container-to-a-user-defined-bridge

【 Compose 】

Conpose 主要透過 docker-compose.yml 來管理多個 container

並且多數指令與 Docker 一致

查看目前 container
docker-compose ps

//只顯示ID
docker-compose ps -q
啟動

https://docs.docker.com/compose/reference/up/

//背景啟動(正式環境使用)
docker-compose up -d
關閉

https://docs.docker.com/compose/reference/down/

docker-compose down [options]

ex. 關閉且同時移除 docker-compose.yml 設定的 volume 
docker-compose down -v
啟動 service
docker-compose start  [SERVICE...]

//Builds, (re)creates, starts, and attaches to containers for a service
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]

停止 service
docker-compose stop [options] [SERVICE...]
重啟 service
docker-compose restart [options] [SERVICE...]
於 service 執行指令

在指定的service執行指令

docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
[ARGS...]

ex.
docker-compose run web bash
查看service log
docker-compose logs [options] [SERVICE...]
檢查docker-compose.yml
docker-compose config

等同於

docker-compose exec
查看 Images
docker-compose images
移除 service
docker-compose rm
Publish Images to docker hub
docker-compose push

如果你喜歡我們的文章內容,請在這裡按個讚



最新文章推薦