日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)

發布時間:2025/3/20 Ubuntu 46 豆豆

黑馬程序員Docker容器化技術,從零學會Docker教程

可以先看1-13課、以及

docker概述

文章目錄

    • docker概述
    • ubuntu安裝docker
    • docker架構
    • 配置docker鏡像加速器(便于從docker官方下載鏡像)
    • docker命令
      • 服務相關命令
        • 啟動docker:
        • 查看docker狀態:
        • 停止docker:
        • 重啟docker:
        • 開機啟動docker:
      • 鏡像相關命令
        • 查看鏡像列表
        • 查看鏡像詳細信息 inspect
        • 搜索鏡像 search
        • 拉取鏡像 pull
        • 刪除鏡像 rmi(i是image鏡像的意思)
      • 容器相關命令
        • 創建交互式容器-it、守護式容器-id(通常結合使用-itd)
          • 宿主機:創建容器的主機
        • 退出容器 exit
        • 查看歷史退出的容器和正在運行的容器 ps -a
        • 進入后臺運行的容器 exec
        • 停止容器 stop
        • 啟動容器 start
        • 刪除容器 rm
          • 刪除所有容器
          • 查看所有容器id
        • 查看容器信息
    • 容器的數據卷
      • 數據卷的概念
        • 三個問題
        • 數據卷
        • 數據卷的作用
      • 配置數據卷(掛載)
        • 基本命令
        • 掛載多個目錄
        • 兩個容器掛載同一數據卷,實現兩個容器數據交換
        • 數據卷容器(用來替代宿主機掛載目錄的容器)
        • 數據卷小結
    • docker應用部署——mysql(端口映射)(略)
    • docker應用部署——tomcat(略)
    • docker應用部署——nginx(略)
    • docker應用部署——redis(略)
    • 鏡像原理(鏡像疊加,分層復用)(rootfs、bootfs)
    • 將容器轉換成鏡像分享給別人
      • 將容器轉換成鏡像 commit、save 加載鏡像壓縮包 load
    • dockerfile概述及關鍵字


ubuntu安裝docker

奇了葩了,我的ubuntu20g竟然死活裝不了docker

參考文章:Ubuntu 16.04安裝docker詳細步驟

另外可參考:Ubuntu 16.04安裝docker詳細步驟

docker架構

配置docker鏡像加速器(便于從docker官方下載鏡像)

https://www.bilibili.com/video/BV1CJ411T7BK?p=5&spm_id_from=pageDriver

docker命令

服務相關命令

操作daemon服務
操作image鏡像
操作container容器

啟動docker:

systemctl start docker

查看docker狀態:

systemctl status docker

停止docker:

systemctl stop docker

重啟docker:

systemctl restart docker

開機啟動docker:

systemctl enable docker

鏡像相關命令


查看鏡像列表

docker images

如果沒有指定版本tag,且版本只有一個就顯示為latest

查看鏡像詳細信息 inspect

docker inspect [鏡像id][鏡像名:TAG]

搜索鏡像 search

會去docker hub搜索:https://registry.hub.docker.com/

docker search [鏡像名]


最后一個AUTOMATED為自動流程構建

拉取鏡像 pull

docker pull [鏡像名:版本號]

如果不加版本號,默認就是下載latest

下好了

如果要下其他版本,在docker hub上可以查看對應版本號(注意同一版本號可對應多個版本名)

刪除鏡像 rmi(i是image鏡像的意思)

docker rmi [鏡像id]

只刪除latest:

docker rmi [鏡像名]

刪除指定tag鏡像:

docker rmi [鏡像名:tag]

列出所有鏡像id:

docker images -q

刪除所有鏡像:

docker rmi `docker images -q`

容器相關命令



創建交互式容器-it、守護式容器-id(通常結合使用-itd)

創建并分配終端進入容器(交互式容器):

docker run -it --name=[容器名] [鏡像名:TAG][鏡像id] /bin/bash
  • i表示interactive,后臺保持運行;t表示分配一個terminal終端
  • --name后的=可以省略
  • /bin/bash可以省略,默認就是這個

創建容器不進入(守護式容器):(d是daemon的意思,創建守護式容器)

docker run -id --name=[容器名] [鏡像名:TAG][鏡像id]
宿主機:創建容器的主機

退出容器 exit

注意:用it創建的容器,exit后就看不到了

exit

查看歷史退出的容器和正在運行的容器 ps -a

(歷史退出的容器看不到)

docker ps

(-a看得到歷史退出的容器)

docker ps -a

進入后臺運行的容器 exec

先用docker ps查看后臺容器列表,再運行:

docker exec -it [容器名] /bin/bash

停止容器 stop

先ps -a查看運行中的容器名,然后:

docker stop [容器名]

啟動容器 start

先查看歷史容器docker ps -a找到容器名,然后:

docker start [容器名]

刪除容器 rm

docker rm [容器名]

docker rm [容器id]

注意:啟動中的容器不能被刪除

刪除所有容器
docker rm `docker ps -aq`
查看所有容器id
docker ps -aq

查看容器信息

一大堆信息:

docker inspect hik_test

容器的數據卷

數據卷的概念

三個問題

  • Docker容器刪除后,在容器里的數據還在嗎?
  • Docker容器和外部機器可以直接交換文件嗎?
  • 容器之間如何進行數據交互?


數據卷

  • 數據卷是宿主機中的一個目錄或文件
  • 當容器目錄和數據卷目錄綁定后,對方的修改會立即同步
  • 一個數據卷可以被多個容器同時掛載
  • 一個容器也可以被掛載多個數據卷

數據卷的作用

  • 容器數據持久化
  • 外部機器和容器間接通信
  • 容器之間數據交換

配置數據卷(掛載)

基本命令

docker run -itd --name=[容器名] -v [ubuntu掛載路徑]:[docker被掛載路徑] [鏡像id] /bin/bash


然后可以看懂home下多了hik2.3目錄:

然后進入容器創建文件,可看到文件已同步:

掛載多個目錄

用多個-v命令就好了

兩個容器掛載同一數據卷,實現兩個容器數據交換

按上面操作分別創建容器的時候把ubuntu上同一個數據卷目錄掛載到不同的容器上去就行了,三個目錄都能同步

數據卷容器(用來替代宿主機掛載目錄的容器)



只要做好了綁定工作,即使數據卷容器被刪除,也不會影響其他容器的共享(每個容器的共享目錄仍會同步)

數據卷小結

docker應用部署——mysql(端口映射)(略)

https://www.bilibili.com/video/BV1CJ411T7BK?p=14


相關指令:

docker應用部署——tomcat(略)

docker應用部署——nginx(略)

docker應用部署——redis(略)

鏡像原理(鏡像疊加,分層復用)(rootfs、bootfs)




將容器轉換成鏡像分享給別人

將容器轉換成鏡像 commit、save 加載鏡像壓縮包 load

commit:

docker commit [容器id] [目標鏡像名稱:目標tag]

save:(注意保存的時候不建議寫鏡像id,會導致后面加載的時候缺失鏡像名:tag)

docker save -o [鏡像壓縮名.tar] [鏡像id][鏡像名:tag]

load:

docker load -i [鏡像壓縮包名.tar]

注意:掛載目錄的文件不能寫入進鏡像里面,其他的都可以

dockerfile概述及關鍵字

https://www.bilibili.com/video/BV1CJ411T7BK?p=20

看到這,先去搞搞vscode遠程docker

后面還有

總結

以上是生活随笔為你收集整理的【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。