命令幫助:
docker --help
docker run --help
docker ps --help
docker exec --help
...
鏡像查詢:
從鏡像源查找:
docker search image_demo
會從鏡像源中搜索包含image_demo關鍵字的鏡像
其實不是特別需要docker search命令,直接docker run image_demo 如果本地沒有image_demo鏡像就會在鏡像源服務器中尋找
從本地查找:
docker images
鏡像執行(生成容器並執行):
docker run [--name, --env,...] image_demo
- --name 爲容器指定一個名字。docker爲自動爲容器生成container id,但是不利於記憶,於是使用--name指定別名
- --env 有的鏡像在部署的時候需要制定環境變量,比如:PASSWORD、USRNAME...
- -d --detach,後臺執行
- -p --publish,制定從container到host的端口,--push 8080:80
- -- link 用於兩個容器之間的通訊, --link db:mysql 將當前容器與名爲db的容器建立連接,mysql是db的別名。link本質上是在兩個容器之間虛擬出一條網絡連接,如果沒有link,兩個docker無法ping到對方。
- -- network link馬上會被棄用,建議使用--network docker run --network docker0 image_demo 其中docker0是docker自動創建的默認網關,可以自己通過:docker network create -d bridge my-net 創建自己的網關
容器查看:
docker ps [-a]
- 默認顯示執行的container
- -a 顯示所有container相關的信息
啓動和停止容器:
docker start container_demo/container_id
docker stop container_demo/container_id
進入container內部執行命令:
未啓動的容器:
docker run -it image_demo /bin/bash
- -i 保持從標準輸入讀取數據,互動
- -t 僞終端
已經啓動的容器:
docker exec -it container_demo /bin/bash
查看容器狀態
docker stats container_demo
顯示CPU、內存、網絡、磁盤IO等信息
容器刪除
docker rm container_demo
- -f 強制刪除正在運行的container
查看鏡像分層:
docker history image_demo
創建數據卷:
docker run [-v, -volume_from] image_demo
- -v host_dir:docker_dir 用於共享host和docker之間的文件夾,這樣可以講docker中程序的之日同步到host
- -v host_file:docker_file用於共享host和docker之間的文件,這樣有很多好處:
- 可以很方便的通過修改host的配置文件來修改整個集羣的配置
- 共享/etc/localtime來使所有docker的時間和host一致
- -volume_from 用於docker和docker之間的數據共享
網絡配置:
docker network create --subnet=192.168.0.0
/24
myNetwork 創建網絡
docker network
ls 查看網絡
docker run -it --net myNetwork --ip 192.168.0.100 demo 在啓動容器時指定網絡