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主機的名稱