最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 最常用的鏡像命令和容器命令詳解

 更新時(shí)間:2020年08月25日 10:30:09   作者:哈嘍沃德先生  
這篇文章主要介紹了Docker 最常用的鏡像命令和容器命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本文列出了 Docker 使用過(guò)程中最常用的鏡像命令和容器命令,以及教大家如何操作容器數(shù)據(jù)卷,實(shí)現(xiàn)容器數(shù)據(jù)的備份。熟練練習(xí)這些命令以后,再來(lái)一些簡(jiǎn)單的應(yīng)用部署練習(xí),大家就可以學(xué)習(xí) Docker 的鏡像構(gòu)建、備份恢復(fù)遷移、鏡像倉(cāng)庫(kù)、網(wǎng)絡(luò)、集群等等更多的內(nèi)容。

鏡像相關(guān)命令

  官方文檔:https://docs.docker.com/reference/

查看鏡像

[root@localhost ~]# docker images
REPOSITORY  TAG   IMAGE ID  CREATED  SIZE
hello-world  latest  bf756fb1ae65 7 months ago 13.3kB
  • REPOSITORY:鏡像在倉(cāng)庫(kù)中的名稱,本文中以后都簡(jiǎn)稱鏡像名稱
  • TAG:鏡像標(biāo)簽
  • IMAGE ID:鏡像 ID
  • CREATED:鏡像的創(chuàng)建日期(不是獲取該鏡像的日期)
  • SIZE:鏡像大小

  這些鏡像都是存儲(chǔ)在 Docker 宿主機(jī)的 /var/lib/docker 目錄下。

搜索鏡像

  如果你需要從網(wǎng)絡(luò)中查找需要的鏡像,可以通過(guò)以下命令搜索。

docker search 鏡像名稱

  • NAME:鏡像名稱
  • DESCRIPTION:鏡像描述
  • STARS:用戶評(píng)價(jià),反映一個(gè)鏡像的受歡迎程度
  • OFFICIAL:是否為官方構(gòu)建
  • AUTOMATED:自動(dòng)構(gòu)建,表示該鏡像由 Docker Hub 自動(dòng)構(gòu)建流程創(chuàng)建的。

拉取鏡像

  拉取鏡像就是從中央倉(cāng)庫(kù)下載鏡像到本地。

docker pull 鏡像名稱

  假如我要拉取 centos 鏡像到本地,如果不聲明 tag 鏡像標(biāo)簽信息則默認(rèn)拉取 latest 版本,也可以通過(guò):https://hub.docker.com/ 搜索該鏡像,查看支持的 tag 信息。

  通過(guò)查看 tag 信息,如果我們要下載 centos7 的鏡像。

docker pull centos:7

刪除鏡像

  按鏡像 ID 刪除鏡像。

# 刪除單個(gè)鏡像
docker rmi 鏡像ID
# 刪除多個(gè)鏡像
docker rmi 鏡像ID 鏡像ID 鏡像ID

  docker images -q 可以查詢到所有鏡像的 ID,通過(guò)組合命令可以實(shí)現(xiàn)刪除所有鏡像的操作。

docker rmi `docker images -q`

注意:如果通過(guò)某個(gè)鏡像創(chuàng)建了容器,則該鏡像無(wú)法刪除。

解決辦法:先刪除鏡像中的容器,再刪除該鏡像。

容器相關(guān)命令

查看容器

  查看正在運(yùn)行的容器。

[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  • CONTAINER ID:容器 ID
  • IMAGE:所屬鏡像
  • COMMAND
  • CREATED:創(chuàng)建時(shí)間
  • STATUS:容器狀態(tài)
  • PORTS:端口
  • NAMES:容器名稱

  查看停止的容器。

docker ps -f status=exited

  查看所有容器(包括運(yùn)行和停止)。

docker ps -a

  查看最后一次運(yùn)行的容器。

docker ps -l

創(chuàng)建與啟動(dòng)容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • -i:表示運(yùn)行容器;
  • -t:表示容器啟動(dòng)后會(huì)進(jìn)入其命令行。加入這兩個(gè)參數(shù)后,容器創(chuàng)建就能登錄進(jìn)去。即分配一個(gè)偽終端;
  • --name:為創(chuàng)建的容器命名;
  • -v:表示目錄映射關(guān)系(前者是宿主機(jī)目錄,后者是映射到宿主機(jī)上的目錄),可以使用多個(gè) -v 做多個(gè)目錄或文件映射。注意:最好做目錄映射,在宿主機(jī)上做修改,然后共享到容器上;
  • -d:在 run 后面加上 -d 參數(shù),則會(huì)創(chuàng)建一個(gè)守護(hù)式容器在后臺(tái)運(yùn)行(這樣創(chuàng)建容器后不會(huì)自動(dòng)登錄容器,如果只加 -i -t 兩個(gè)參數(shù),創(chuàng)建容器后就會(huì)自動(dòng)進(jìn)容器里);
  • -p:表示端口映射,前者是宿主機(jī)端口,后者是容器內(nèi)的映射端口。可以使用多個(gè) -p 做多個(gè)端口映射。
  • -P:隨機(jī)使用宿主機(jī)的可用端口與容器內(nèi)暴露的端口映射。

創(chuàng)建并進(jìn)入容器

  下面這行命令的意思就是通過(guò)鏡像 AA 創(chuàng)建一個(gè)容器 BB,運(yùn)行容器并進(jìn)入容器的 /bin/bash。

docker run -it --name 容器名稱 鏡像名稱:標(biāo)簽 /bin/bash

注意:Docker 容器運(yùn)行必須有一個(gè)前臺(tái)進(jìn)程, 如果沒(méi)有前臺(tái)進(jìn)程執(zhí)行,容器認(rèn)為是空閑狀態(tài),就會(huì)自動(dòng)退出。

退出當(dāng)前容器

exit

守護(hù)式方式創(chuàng)建容器

docker run -di --name 容器名稱 鏡像名稱:標(biāo)簽

登錄守護(hù)式容器方式

docker exec -it 容器名稱|容器ID /bin/bash

停止與啟動(dòng)容器

# 停止容器
docker stop 容器名稱|容器ID
# 啟動(dòng)容器
docker start 容器名稱|容器ID

文件拷貝

  如果我們需要將文件拷貝到容器內(nèi)可以使用 cp 命令。

docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄

  也可以將文件從容器內(nèi)拷貝出來(lái)。

docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄

目錄掛載(容器數(shù)據(jù)卷操作)

  我們可以在創(chuàng)建容器的時(shí)候,將宿主機(jī)的目錄與容器內(nèi)的目錄進(jìn)行映射,這樣我們就可以通過(guò)修改宿主機(jī)某個(gè)目錄的文件從而去影響容器,而且這個(gè)操作是雙向綁定的,也就是說(shuō)容器內(nèi)的操作也會(huì)影響到宿主機(jī),實(shí)現(xiàn)備份功能。

  但是容器被刪除的時(shí)候,宿主機(jī)的內(nèi)容并不會(huì)被刪除,因?yàn)榈讓邮峭ㄟ^(guò)拷貝實(shí)現(xiàn)的。如果多個(gè)容器掛載同一個(gè)目錄,其中一個(gè)容器被刪除,其他容器的內(nèi)容也不會(huì)受到影響,同理,底層是拷貝實(shí)現(xiàn)的。

  但是容器被刪除的時(shí)候,宿主機(jī)的內(nèi)容并不會(huì)被刪除。如果多個(gè)容器掛載同一個(gè)目錄,其中一個(gè)容器被刪除,其他容器的內(nèi)容也不會(huì)受到影響。

  容器與宿主機(jī)之間的數(shù)據(jù)卷屬于引用的關(guān)系,數(shù)據(jù)卷是從外界掛載到容器內(nèi)部中的,所以可以脫離容器的生命周期而獨(dú)立存在,正是由于數(shù)據(jù)卷的生命周期并不等同于容器的生命周期,在容器退出或者刪除以后,數(shù)據(jù)卷仍然不會(huì)受到影響,數(shù)據(jù)卷的生命周期會(huì)一直持續(xù)到?jīng)]有容器使用它為止。

  創(chuàng)建容器添加 -v 參數(shù),格式為宿主機(jī)目錄:容器目錄,例如:

docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
# 多目錄掛載
docker run -di -v /宿主機(jī)目錄:/容器目錄 -v /宿主機(jī)目錄2:/容器目錄2 鏡像名

目錄掛載操作可能會(huì)出現(xiàn)權(quán)限不足的提示。這是因?yàn)?CentOS7 中的安全模塊 SELinux 把權(quán)限禁掉了,在 docker run 時(shí)通過(guò) --privileged=true 給該容器加權(quán)限來(lái)解決掛載的目錄沒(méi)有權(quán)限的問(wèn)題。

匿名掛載

  匿名掛載只需要寫(xiě)容器目錄即可,容器外對(duì)應(yīng)的目錄會(huì)在 /var/lib/docker/volume 中生成。

# 匿名掛載
docker run -di -v /usr/local/data --name centos7-02 centos:7
# 查看 volume 數(shù)據(jù)卷信息
docker volume ls

具名掛載

  具名掛載就是給數(shù)據(jù)卷起了個(gè)名字,容器外對(duì)應(yīng)的目錄會(huì)在 /var/lib/docker/volume 中生成。

# 匿名掛載
docker run -di -v docker_centos_data:/usr/local/data --name centos7-03 centos:7
# 查看 volume 數(shù)據(jù)卷信息
docker volume ls

指定目錄掛載

  一開(kāi)始給大家講解的方式就屬于指定目錄掛載,這種方式的掛載不會(huì)在 /var/lib/docker/volume 目錄生成內(nèi)容。

docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
# 多目錄掛載
docker run -di -v /宿主機(jī)目錄:/容器目錄 -v /宿主機(jī)目錄2:/容器目錄2 鏡像名

查看目錄掛載關(guān)系

  通過(guò) docker volume inspect 數(shù)據(jù)卷名稱 可以查看該數(shù)據(jù)卷對(duì)應(yīng)宿主機(jī)的目錄地址。

[root@localhost ~]# docker volume inspect docker_centos_data
[
 {
 "CreatedAt": "2020-08-13T20:19:51+08:00",
 "Driver": "local",
 "Labels": null,
 "Mountpoint": "/var/lib/docker/volumes/docker_centos_data/_data",
 "Name": "docker_centos_data",
 "Options": null,
 "Scope": "local"
 }
]

  通過(guò) docker inspect 容器ID或名稱 ,在返回的 JSON 節(jié)點(diǎn)中找到 Mounts,可以查看詳細(xì)的數(shù)據(jù)掛載信息。

只讀/讀寫(xiě)

# 只讀。只能通過(guò)修改宿主機(jī)內(nèi)容實(shí)現(xiàn)對(duì)容器的數(shù)據(jù)管理。
docker run -it -v /宿主機(jī)目錄:/容器目錄:ro 鏡像名
# 讀寫(xiě),默認(rèn)。宿主機(jī)和容器可以雙向操作數(shù)據(jù)。
docker run -it -v /宿主機(jī)目錄:/容器目錄:rw 鏡像名

volumes-from(繼承)

# 容器 centos7-01 指定目錄掛載
docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
# 容器 centos7-04 和 centos7-05 相當(dāng)于繼承 centos7-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

查看容器 IP 地址

  我們可以通過(guò)以下命令查看容器的元信息。

docker inspect 容器名稱|容器ID

  也可以直接執(zhí)行下面的命令直接輸出 IP 地址。

docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名稱|容器ID

刪除容器

# 刪除指定容器
docker rm 容器名稱|容器ID
# 刪除多個(gè)容器
docker rm 容器名稱|容器ID 容器名稱|容器ID

之前給大家介紹過(guò)Docker run 命令的使用方法詳解,感興趣的朋友可以參考下!

到此這篇關(guān)于Docker 最常用的鏡像命令和容器命令詳解的文章就介紹到這了,更多相關(guān)Docker鏡像命令和容器命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker Swarm結(jié)合Docker Compose部署集群的實(shí)現(xiàn)

    Docker Swarm結(jié)合Docker Compose部署集群的實(shí)現(xiàn)

    本文主要介紹了Docker Swarm結(jié)合Docker Compose部署集群的實(shí)現(xiàn),通過(guò)部署和配置幫助讀者更好地理解并應(yīng)用這些工具,感興趣的可以了解一下
    2023-12-12
  • IDEA 通過(guò)docker插件發(fā)布springboot項(xiàng)目的詳細(xì)教程

    IDEA 通過(guò)docker插件發(fā)布springboot項(xiàng)目的詳細(xì)教程

    這篇文章主要介紹了IDEA 通過(guò)docker插件發(fā)布springboot項(xiàng)目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • CentOS8下的Docker使用詳解

    CentOS8下的Docker使用詳解

    這篇文章主要介紹了CentOS8下的Docker使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 在?Docker?容器中運(yùn)行?PHPMyAdmin的詳細(xì)步驟

    在?Docker?容器中運(yùn)行?PHPMyAdmin的詳細(xì)步驟

    Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,它能夠?qū)崿F(xiàn)應(yīng)用部署的自動(dòng)化。此外,容器是完全使用沙箱機(jī)制,容器之間的環(huán)境相互獨(dú)立,不會(huì)相互干擾,接下來(lái)通過(guò)本文給大家介紹在?Docker?容器中運(yùn)行?PHPMyAdmin的詳細(xì)步驟,感興趣的朋友一起看看吧
    2022-01-01
  • 如何在一臺(tái)服務(wù)器上使用docker運(yùn)行kafka集群

    如何在一臺(tái)服務(wù)器上使用docker運(yùn)行kafka集群

    文章詳細(xì)介紹了如何在一臺(tái)服務(wù)器上使用Docker運(yùn)行Kafka集群,包括拉取鏡像、創(chuàng)建網(wǎng)絡(luò)、啟動(dòng)Kafka容器、檢查運(yùn)行狀態(tài)、編寫(xiě)啟動(dòng)和關(guān)閉腳本、進(jìn)入容器檢查、故障排查以及啟動(dòng)生產(chǎn)者和消費(fèi)者等步驟,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • SpringBoot打包成Docker鏡像的項(xiàng)目實(shí)踐

    SpringBoot打包成Docker鏡像的項(xiàng)目實(shí)踐

    Spring Boot和Docker,可以方便地將應(yīng)用程序部署到不同的環(huán)境中,本文主要介紹了SpringBoot打包成Docker鏡像的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • CentOS 8安裝docker最詳細(xì)方法

    CentOS 8安裝docker最詳細(xì)方法

    本文給大家介紹CentOS 8安裝docker最詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • 如何用docker部署kafka

    如何用docker部署kafka

    本文詳細(xì)介紹了使用Docker快速搭建Kafka集群的步驟,包括選用wurstmeister/kafka鏡像、配置文件修改、集群?jiǎn)?dòng)與管理,適合需要在Docker環(huán)境中部署Kafka的開(kāi)發(fā)者參考
    2024-09-09
  • Spring Boot應(yīng)用通過(guò)Docker發(fā)布部署的流程分析

    Spring Boot應(yīng)用通過(guò)Docker發(fā)布部署的流程分析

    將Spring Boot項(xiàng)目部署到docker中有兩種方法,手動(dòng)部署和插件部署,本文通過(guò)實(shí)例代碼介紹了idea創(chuàng)建spring boot項(xiàng)目的詳細(xì)過(guò)程,感興趣的朋友一起看看吧
    2021-09-09
  • jenkins構(gòu)建Docker 鏡像實(shí)例詳解

    jenkins構(gòu)建Docker 鏡像實(shí)例詳解

    這篇文章主要介紹了 jenkins構(gòu)建Docker 鏡像實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評(píng)論

榕江县| 花莲县| 治多县| 鄂托克旗| 克什克腾旗| 苏尼特右旗| 蚌埠市| 七台河市| 平湖市| 新化县| 临邑县| 丁青县| 乌兰浩特市| 连州市| 富阳市| 梁山县| 永丰县| 连江县| 曲阜市| 当阳市| 霸州市| 房产| 北流市| 景德镇市| 汤原县| 错那县| 淳安县| 广安市| 呼伦贝尔市| 华宁县| 丰顺县| 沈丘县| 宝清县| 佛教| 建昌县| 大邑县| 汾阳市| 泰兴市| 桃江县| 房产| 汪清县|