Docker核心命令筆記

命令幫助:

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之間的文件,這樣有很多好處:
  1. 可以很方便的通過修改host的配置文件來修改整個集羣的配置
  2. 共享/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  在啓動容器時指定網絡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章