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
使用鏡像nginx:latest以交互模式啟動一個容器,在容器內執行/bin/bash命令。
docker run -it nginx:latest /bin/bash
Docker rm 命令
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS說明:
-f :通過SIGKILL信號強制刪除一個運行中的容器
-l :移除容器間的網絡連接,而非容器本身
-v :-v 刪除與容器關聯的卷
例子:
強制刪除容器db01、db02
docker rn db01 db02
移除容器nginx01對容器db01的連接,連接名db
docker rm -l db
刪除容器nginx01,并刪除容器掛載的數據卷
docker rm -v nginx01
Docker exec 命令(在運行的容器中執行命令)
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:
-d :分離模式: 在后臺運行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個偽終端
例子
在容器 mynginx 中以交互模式執行容器內 /root/runoob.sh 腳本:
docker exec -it mynginx /bin/bash /root/runoob.sh
在容器 mynginx 中開啟一個交互模式的終端:
docker exec -i -t mynginx /bin/bash
Docker commit 命令(從容器創建一個新的鏡像)
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS說明:
-a :提交的鏡像作者;
-c :使用Dockerfile指令來創建鏡像;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
實例
將容器a404c6c174a2 保存為新的鏡像,并添加提交人信息和說明信息。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1