docker常用映象命令及容器命令

2022-07-06 01:36:12 字數 3359 閱讀 8093

typora-copy-images-to: ./
官方文件:

docker images

docker search redis

docker pull redis:5

docker pull 映象名稱:標籤 如果不加名稱,則預設標籤為latest

docker rmi redis:5

docker ps :檢視執行的容器

docker ps -a :檢視所有的容器,包括執行、停止狀態等。

docker ps -l: 檢視最後執行的容器

docker ps -f status=exited :過濾命令,檢視已經停止的容器

docker ps -n 5 :最後5個執行的容器

docker ps --help:幫助命令

docker run 命令用於啟動容器。

在啟動容器的時候,可以選擇直接接入容器或者後台啟動容器。

docker run [options] image [command] [arg...]

#停止容器

docker stop 容器名稱或容器id

​#啟動容器

docker start 容器名稱或容器id

如果我們需要將檔案拷貝到容器內可以使用cp命令:

docker cp 需要拷貝的檔案或目錄 容器名稱:容器目錄

也可以將檔案從容器內拷貝出來:

docker cp 容器名稱:容器目錄 需要拷貝的檔案或目錄

從宿主機拷貝到容器:

[root@centos node1 ~]# docker cp test.txt mynginx:/etc

從容器拷貝到宿主機

[root@centos node1 ~]# docker cp mynginx:/etc/abc.txt /root/

我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以通過修改宿主機某個目錄的檔案從而去影響我們的容器,而且這個操作時雙向繫結的,也就是說容器內的操作也會影響到宿主機,實現備份功能。

但是容器被刪除的時候宿主機的內容並不會被刪除,如果多個容器掛載同乙個目錄,其中乙個容器被刪除,其他容器的內容也不會受到影響。

容器與宿主機之間的資料卷屬於引用關係,資料卷從外界掛載到容器內部中的。所以可以說脫離容器的生命週期而獨立存在,正式由於資料卷的生命週期並不等同於容器的生命週期,在容器退出或者刪除以後,資料卷仍然不會受到影響,資料卷的生命週期會一致持續到沒有容器使用它為止。

建立容器新增-v引數,格式為宿主機目錄:容器目錄,例如:

docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos-01 centos

#多目錄掛載

docker run -di -v /宿主機目錄:/容器目錄 -v /宿主機目錄2::/容器目錄2 映象名稱

目錄掛載操作可能會出現許可權不足的提示,這是因為centos7中安全模組selinux把許可權禁掉了,在docker run 是通過-privileged=true給該容器加許可權來解決掛載的目錄沒有許可權的問題

匿名掛載只需要寫容器目錄即可,容器外對應的目錄會在/var/lib/docker/volumes中生成。

#匿名掛載

docker run -di -v /usr/local/data --name centos-02 centos

#檢視volume資料卷資訊

docker volume ls

具名掛載就是給資料捲起了乙個名字,容器外對應的目錄會在/var/lib/docker/volumes中生成。

#具名掛載

docker run -di -v docker_centos_data:/usr/local/data --name centos03 centos

#檢視volume資料卷資訊

docker volume ls

指定目錄掛載,這種方式的掛載不會在 /var/lib/docker/volumes 目錄生成內容。

docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos_03 centos

​#多目錄掛載

docker run -di -v /宿主機目錄:/容器目錄 -v /宿主機目錄2:/容器目錄2

通過 docker volume inspect 資料卷名稱可以檢視該資料卷對應宿主機的目錄位址。

docker volume inspect docker_centos_data

​[root@centos node1 ~]# docker volume inspect docker_nginx_data [ ]

​通過docker inspect 容器名稱或id,在返回json節點中找到 mounts,可以檢視詳細的資料掛載資訊。

#唯讀,只能通過修改宿主機內容實現對容器資料的管理

docker run -it -v /宿主機目錄:/容器目錄:ro 映象名

#讀寫,預設。宿主機和容器可以雙向運算元據

docker run -it -v /宿主機目錄:/容器目錄:rw 映象名

#容器centos7-01指定目錄掛載

docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7

#容器centos7-04和centos-05相當於整合centos07-01容器的掛載目錄

docker run -di --volumes-from centos7-01 --name centos7-04 centos:7

docker run -di --volumes-from centos7-01 --name centos7-05 centos:7

也可以指定唯讀模式,預設rw模式:

docker run -di --volumes-from centos7-01:ro --name centos7-04 centos:7

docker run -di --volumes-from centos7-01:rw --name centos7-05 centos:7

可以通過下面的命令檢視容器的元資訊:

docker inspect 容器名稱或容器id

docker inspect --format=} 容器名稱|容器id

docker rm 容器名稱(或者容器id)

刪除容器的時候容器必須是停止狀態。

Docker常用的映象和容器命令

命令 4.映象 已進入195的myimages v1映象為例,該映象裝好了openjdk8 alpine,安裝好了gmp libstdc sqlite openldap的基礎映象。docker images 可以看到myimages v1映象 docker ps 如果啟動了,ps時可以看到up的狀態...

docker映象和容器命令

檢視所有容器 停用乙個容器 停用全部執行中的容器 殺死所有正在執行的容器 刪除乙個容器 刪除全部容器 刪除所有已經停止的容器 一條命令實現停用並刪除容器 列出本地所有的映象 含中間映像層,預設情況下,過濾掉中間映像層 列出本地映象中repository為ubuntu的映象列表 刪除乙個映象 刪除所有...

docker常用命令 映象與容器

顯示本地映象 repository 映象名稱的儲存庫 tag 映象的標記,標記同乙個倉庫的不同映象 id 識別映象的唯一標記 cerated 建立時間 size 映象大小 啟動映象 利用映象生成容器,並且啟動容器 root test docker run t i ubuntu 14.04 bin b...