docker run
:創建一個新的容器并運行一個命令
語法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
-
-a stdin
:指定標準輸入輸出內容類型,可選STDIN/STDOUT/STDERR
三項; -
-d
:后臺運行容器,并返回容器ID
; -
-i
:以交互模式運行容器,通常與-t
同時使用; -
-P
:隨機端口映射,容器內部端口隨機映射到主機的端口 -
-p
:指定端口映射,格式為:主機(宿主)端口:容器端口
-
-t
:為容器重新分配一個偽輸入終端,通常與-i
同時使用; -
--name="nginx-lb"
:為容器指定一個名稱; -
--dns 8.8.8.8
:指定容器使用的DNS
服務器,默認和宿主一致; -
--dns-search example.com
:指定容器DNS
搜索域名,默認和宿主一致; -
-h "mars"
:指定容器的hostname
; -
-e username="ritchie"
:設置環境變量; -
--env-file=[]
:從指定文件讀入環境變量; -
--cpuset="0-2" or --cpuset="0,1,2"
:綁定容器到指定CPU
運行; -
-m
:設置容器使用內存最大值; -
--net="bridge"
:指定容器的網絡連接類型,支持bridge/host/none/container
四種類型; -
--link=[]
:添加鏈接到另一個容器; -
--expose=[]
:開放一個端口或一組端口; -
--volume , -v
:綁定一個卷
實例
- 使用
docker
鏡像nginx:latest
以后臺模式啟動一個容器,并將容器命名為mynginx
。
docker run --name mynginx -d nginx:latest
- 使用鏡像
nginx:latest
以后臺模式啟動一個容器,并將容器的80端口映射到主機隨機端口。
docker run -P -d nginx:latest
- 使用鏡像
nginx:latest
,以后臺模式啟動一個容器,將容器的 80 端口映射到主機的 80 端口,主機的目錄/data
映射到容器的/data
。
docker run -p 80:80 -v /data:/data -d nginx:latest
- 綁定容器的 8080 端口,并將其映射到本地主機 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
- 使用鏡像
nginx:latest
以交互模式啟動一個容器,在容器內執行/bin/bash
命令。
docker run -it nginx:latest /bin/bash