Docker基礎知識和命令使用教程
Docker基礎知識和命令使用教程
摘要
- 本文介紹了 Docker 相關的基礎知識和命令的簡單使用。基礎知識部分包括 Docker 的用途和意義,Docker 的鏡像、容器、倉庫、Dockerfile 和 Docker Compose 的理解,以及 Docker 圖形管理工具 Portainer 的基礎功能。Docker 命令的使用包括鏡像使用、容器使用、網絡使用以及 Docker 本身的信息顯示的方法,Docker Compose 使用的原理。
背景說明
-
Docker:開源的應用容器引擎,可以讓開發者打包應用以及依賴包到一個輕量級、可移植的容器中,能夠將應用程序與基礎架構分開,從而可以快速交付和運行應用程序軟件。
-
鏡像(Image):可以類比為軟件安裝包。
-
容器(Container):可以類比為用于運行軟件的虛擬機。
-
倉庫(Repository):可以類比為軟件商店,如 Docker Hub 公共鏡像源。
-
-
Dockerfile :用于構建鏡像的文本文件,包含構建鏡像所需的指令和說明。
-
Docker Compose:用于定義和運行多容器的 Docker 應用程序工具。使用 YML 文件來配置應用程序需要的所有服務。
-
Portainer:可視化的 Docker 圖形管理工具。提供狀態顯示面板,應用模板快速部署,容器、鏡像、網絡、存儲卷的基本操作,事件日志顯示等。
操作實踐
Docker 使用
-
查看 Docker 命令選項:使用
docker命令。 -
了解 Docker 使用方法:使用
docker command --help命令。 -
顯示 Docker 系統信息:使用
docker info [OPTIONS]命令。 -
顯示 Docker 版本信息:使用
docker version [OPTIONS]命令。
Docker 鏡像使用
-
搜索鏡像:使用
docker search [OPTIONS] <NAME>命令。 -
獲取鏡像:使用
docker pull [OPTIONS] <NAME>[:TAG|@DIGEST]命令,如docker pull ubuntu:15.10。 -
刪除鏡像:使用
docker rmi [OPTIONS] <IMAGE> [IMAGE...]命令。 -
列出本地鏡像:使用
docker images [OPTIONS] [REPOSITORY[:TAG]]命令。 -
設置鏡像標簽:使用
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]命令,如docker tag ubuntu:15.10 ubuntu:v3。 -
構建鏡像:使用
docker build [OPTIONS] PATH | URL | -命令。如docker build -t ubuntu:v1 .。 -
從文件創建鏡像:使用
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]命令。如docker import ubuntu_v3.tar ubuntu:v4。
Docker 容器使用
-
創建并啟動容器:使用
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]命令。如docker run -itd -p 5000:5000 --name ubuntu-test --network test-net ubuntu:15.10 /bin/bash。- 參數說明:
-i以交互模式運行容器,-t分配一個終端,-d后臺運行,-p 5000:5000主機端口綁定到容器端口,默認綁定 tcp 端口,如果要綁定 UDP 端口,需要在端口后面加上/udp。--name ubuntu-test為容器指定名稱,--network test-net連接到指定網絡,/bin/bash在容器內執行/bin/bash命令,ubuntu:15.10使用指定鏡像來啟動容器。
- 參數說明:
-
啟動容器:使用
docker start [OPTIONS] <CONTAINER> [CONTAINER...]命令。 -
停止容器:使用
docker stop [OPTIONS] <CONTAINER> [CONTAINER...]命令。 -
重啟容器:使用
docker restart [OPTIONS] <CONTAINER> [CONTAINER...]命令。 -
刪除容器:使用
docker rm [OPTIONS] <CONTAINER> [CONTAINER...]命令。 -
退出容器:使用
exit命令。 -
在運行的容器中執行命令:使用
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]命令。如使用docker exec -i -t ubuntu /bin/bash連接運行中的容器并運行bash,退出時不會導致容器停止。 -
列出容器:使用
docker ps [OPTIONS]命令。 -
查看容器元數據:使用
docker inspect [OPTIONS] NAME|ID [NAME|ID...]命令。 -
查看容器進程運行:使用
docker top [OPTIONS] CONTAINER [ps OPTIONS]命令。 -
連接運行中的容器:使用
docker attach [OPTIONS] CONTAINER命令。退出時會導致容器停止,使用--sig-proxy=false可以在脫離容器終端時不會關閉容器。 -
獲取容器實時事件:使用
docker events [OPTIONS]命令。 -
獲取容器日志輸出:使用
docker logs [OPTIONS] CONTAINER命令。 -
查看容器端口映射:使用
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]命令。 -
顯示容器資源情況:使用
docker stats [OPTIONS] [CONTAINER...]命令。 -
導出容器為文件:使用
docker export [OPTIONS] CONTAINER命令。 -
從容器創建鏡像:使用
docker commit [OPTIONS] <CONTAINER> [REPOSITORY[:TAG]]命令,如docker commit -m="Description" -a="author" e218edb10161 ubuntu:v2。
Docker 網絡使用
-
查看容器DNS:使用
docker run -it --rm ubuntu cat etc/resolv.conf命令。 -
指定容器DNS:使用
docker run -it --rm -h <HOSTNAME> --dns=<IP_ADDRESS> --dns-search=<DOMAIN>命令。如docker run -it --rm -h host_ubuntu --dns=114.114.114.114 --dns-search=test.com ubuntu。- 參數說明:
--rm容器退出時自動清理容器內部的文件系統,-h <HOSTNAME>設置容器的主機名,會被寫到容器內的/etc/hostname和/etc/hosts,--dns=<IP_ADDRESS>添加 DNS 服務器到容器的/etc/resolv.conf中,容器用這個服務器來解析所有不在 /etc/hosts 中的主機名。,--dns-search=<DOMAIN>設定容器的搜索域。
- 參數說明:
-
新建 Docker 網絡:使用
docker network create -d bridge <NET_NAME>命令。如docker network create -d bridge test-net。- 參數說明:
-d指定 Docker 網絡類型,有 bridge、overlay。
- 參數說明:
Docker Compose 使用
-
使用
Dockerfile文件定義應用程序的環境。 -
使用
docker-compose.yml文件定義構成應用程序的服務,使其在隔離環境中協同運行。 -
執行
docker-compose up命令啟動并運行應用程序。
Docker 鏡像加速
注意事項
-
CONTAINER:表示容器。
-
IMAGE:表示鏡像。
參考資料
版權聲明:本文為「夢幻之心星」原創,依據 CC BY-NC-SA 4.0 許可證進行授權,轉載請附上原文出處鏈接及本聲明。
博客園地址:http://www.rzrgm.cn/Sky-seeker
微信公眾號:關注微信公眾號,獲取即時推送
![]()

浙公網安備 33010602011771號