docker run
指令用來建立并啟動一個容器
文法
:docker run [options] image [command] [args…]
示例
:docker run -dit -v 别名:容器裡面的volume的路徑 [-P] [-p 端口:端口] --memory=200M --cpu-shares = 10 --name 給容器起的名字 --net mynet --ip 172.18.0.2 --volumes-from 容器名 鏡像名
指令解釋
:
• -d 背景運作
-i 互動式運作
-t tty終端
--memory 限制容器可以使用的記憶體,如果沒有指定 --memory-swap 那麼預設和--memory一樣大
eg: --memory 200m 沒有--memory-swap參數,那麼容器可以使用的記憶體為400m
--memory-swap 設定swap區可以使用的記憶體大小,預設和--memory一樣大,必須>=--memory
--cpu-shares 表示占有cpu的相對權重
eg:
假設在同一台實體主機上啟動了如下2個容器,容器1占用的cpu是容器2占有的cpu的2倍。
同一台實體主機上
容器1:
docker run -d --cpu-shares 10 容器名
容器2:
docker run -d --cpu-shares 5 容器名
--name 給容器起的名字
--net 指定容器運作的網絡(也可以是自己建立的網絡 docker network create --subnet=172.18.0.0/24 mynet)
-v 指定volume的路徑
data volume模式:
别名:容器裡面的路徑
mysql:/var/lib/mysql
/var/lib/mysql 為Dockerfile 中的volume的值
使用 docker volume ls 指令檢視
本地建立 mysql 資料卷:docker create volume --name mysql
bind mouting模式:
本地路徑:容器路徑
/var/data:/var/容器目錄
本地目錄和容器目錄中的檔案修改都會實時同步。
--ip 指定容器的ip位址
-P 随機映射一個端口
-p 本地端口:容器端口。 将容器中的某個端口映射到本地的某個端口上
-e 設定環境變量
--volumes-from 參數用于連接配接某個指定容器的卷,進而可以通路到指定容器中的所有的卷。示例:blog_demo表示新容器中挂載了blog_demo容器中所有的卷。
--rm 表示容器運作完成後自動删除
-h 設定host主機的名稱