基本命令
-
run
構建容器命令docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:-
-a stdin
:指定輸入輸出內容類型,可選STDIN/STDOUT/STDERR -
-d
:后臺運行容器正驻,并返回容器id -
-i
:以交互模式運行容器募狂,通常與-t
搭配 -
-p
:指定端口映射炮捧,格式為:宿主機端口:容器端口 -
-P
:端口隨機映射 -
-t
:為容器分配一個偽輸入終端仓蛆,通常與-i
同時使用 -
--name="nginx-lib"
:為容器指定一個名稱 -
dns 9.9.9.9
:為容器指定一個名稱,默認和宿主機一致 -
dns--search example.com
:指定容器DNS搜索域名宏悦,默認和宿主機一致 -
-h
"hostname":指定容器的hostname -
-e username="hemei"
:設置環(huán)境變量 -
--env-file=[]
:從指定文件文件讀入環(huán)境變量 -
--cpuset="0-2"
或者--cpuset="0,1,2"
:綁定容器到指定cpu運行 -
-m
:設置容器使用內存最大值 -
--net="bridge"
:指定容器的網(wǎng)絡連接類型馅而,支持bridge/host/none/container四種類型 -
--link=[]
:添加鏈接到另一個容器 -
--expose=[]
:開放一個端口或一組端口 -
--volume
或-v
綁定一個卷 -
--restart=always
:開機自啟逾冬,或者=no
:stop后不重啟
-
start
運行容器-
update
更新容器-
--restart=always
:開機自啟 -
--restart=no
:不重新啟動
-
stop
停止容器
Dockerfile
-
Dockerfile書寫
- 第一行必須是
from
- 第一行必須是
-
本地
Dockerfile
構建鏡像
docker build [選項] <上下文路徑/URL/->
docker build -t nginx:v3 .
- 最后的這個
.
是指上下文目錄黍聂,docker在對鏡像打包的時候會把該上下文目錄的文件打包交給Docker引擎以幫助打包鏡像 -
docker build
是在服務端構建鏡像 -
.dockerignore
文件是用來剔除不需要上傳到服務端文件的 - 可以用
-f ../Dockerfile.php
指定某個文件作為Dockerfile
- 最后的這個
-
Git repo 進行構建
- url
# $env:DOCKER_BUILDKIT=0 # export DOCKER_BUILDKIT=0 $ docker build -t hello-world https://github.com/docker-library/hello-world.git#master:amd64/hello-world Step 1/3 : FROM scratch ---> Step 2/3 : COPY hello / ---> ac779757d46e Step 3/3 : CMD ["/hello"] ---> Running in d2a513a760ed Removing intermediate container d2a513a760ed ---> 038ad4142d2b Successfully built 038ad4142d2b
-
用給定的tar壓縮包構建
docker build http://server/context.tar.gz`