欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker目錄和本地目錄互通的實(shí)現(xiàn)

 更新時(shí)間:2023年08月10日 11:43:10   作者:liulanba  
本文介紹了如何實(shí)現(xiàn)Docker目錄和本地目錄互通,通過這種方式,可以輕松地在Docker容器和本地文件系統(tǒng)之間共享數(shù)據(jù),感興趣的可以了解一下

1.docker run使用-v 綁定一個(gè)卷

來實(shí)現(xiàn)容器中的目錄與本地某個(gè)目錄的聯(lián)通,這樣可以讓容器中的數(shù)據(jù)在容器銷毀之后仍然可以被保留下來。下面是一些基本的步驟:

創(chuàng)建一個(gè)本地目錄,用于存儲(chǔ)容器中的數(shù)據(jù)。例如,我們可以在本地創(chuàng)建一個(gè)目錄 /data,用于存儲(chǔ)容器中的數(shù)據(jù)。

在運(yùn)行容器時(shí),使用 -v 參數(shù)將本地目錄掛載到容器內(nèi)部的目錄上。例如,如果我們要運(yùn)行一個(gè) MySQL 容器,并將本地的 /data 目錄掛載到容器內(nèi)部的 /var/lib/mysql 目錄上,可以使用如下命令:

docker run -d \
    --name my-mysql \
    -v /data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=my-secret-pw \
    mysql:latest

在這個(gè)命令中,我們使用 -v 參數(shù)將本地的 /data 目錄掛載到容器內(nèi)部的 /var/lib/mysql 目錄上。這樣,在容器內(nèi)部的數(shù)據(jù)就會(huì)被保存到本地的 /data 目錄中。

運(yùn)行容器后,容器中的數(shù)據(jù)就可以和本地的 /data 目錄保持聯(lián)通了。例如,如果我們要在 MySQL 容器中創(chuàng)建一個(gè)名為 mydatabase 的數(shù)據(jù)庫,可以使用如下命令:

docker exec -it my-mysql mysql -uroot -pmy-secret-pw -e "CREATE DATABASE mydatabase;"

在這個(gè)命令中,我們使用 docker exec 命令進(jìn)入到運(yùn)行中的 MySQL 容器中,并執(zhí)行一個(gè) SQL 命令來創(chuàng)建一個(gè)名為 mydatabase 的數(shù)據(jù)庫。由于我們已經(jīng)將容器內(nèi)部的 /var/lib/mysql 目錄掛載到了本地的 /data 目錄上,因此在容器內(nèi)部創(chuàng)建的數(shù)據(jù)也會(huì)被保存到本地的 /data 目錄中。

總之,使用數(shù)據(jù)卷可以讓容器中的目錄和本地的某個(gè)目錄保持聯(lián)通,從而實(shí)現(xiàn)容器數(shù)據(jù)的持久化。

2.docker-compose.yml中使用數(shù)據(jù)卷(Volume)

在 Docker Compose 中,可以使用 volumes 來實(shí)現(xiàn)容器中的目錄與本地某個(gè)目錄的聯(lián)通。下面是一個(gè)基本的例子:
假設(shè)我們有一個(gè) Django 應(yīng)用程序和一個(gè) MySQL 數(shù)據(jù)庫。我們想要將 Django 應(yīng)用程序和 MySQL 數(shù)據(jù)庫分別運(yùn)行在兩個(gè)容器中,并且想要將 MySQL 數(shù)據(jù)庫中的數(shù)據(jù)保存到本地的 /data/mysql 目錄中。在這種情況下,我們可以創(chuàng)建一個(gè) docker-compose.yml 文件,并在其中指定 volumes,如下所示:

version: "3"
services:
? db:
? ? image: mysql
? ? volumes:
? ? ? - /data/mysql:/var/lib/mysql
? ? environment:
? ? ? MYSQL_ROOT_PASSWORD: my-secret-pw
? web:
? ? build: .
? ? volumes:
? ? ? - .:/code
? ? ports:
? ? ? - "8000:8000"
? ? depends_on:
? ? ? - db
? ? environment:
? ? ? DB_HOST: db
? ? ? DB_NAME: mydatabase
? ? ? DB_USER: root
? ? ? DB_PASSWORD: my-secret-pw

在上面的 docker-compose.yml 文件中,我們定義了兩個(gè)服務(wù):一個(gè) MySQL 服務(wù)(名為 db),一個(gè) Django 服務(wù)(名為 web)。我們還定義了兩個(gè) volumes,一個(gè)用于將本地的 /data/mysql 目錄掛載到 MySQL 容器中的 /var/lib/mysql 目錄上,另一個(gè)用于將當(dāng)前目錄(即 .)掛載到 Django 容器中的 /code 目錄上。

這樣,在運(yùn)行 Docker Compose 時(shí),我們可以使用如下命令:

docker-compose up

Docker Compose 會(huì)自動(dòng)創(chuàng)建并啟動(dòng)兩個(gè)容器,并將它們連接在一起。MySQL 容器中的數(shù)據(jù)會(huì)被保存到本地的 /data/mysql 目錄中,而 Django 容器中的代碼會(huì)被保存到本地的當(dāng)前目錄中。

區(qū)別:

使用 volumes 可以讓容器中的目錄和本地的某個(gè)目錄保持聯(lián)通,從而實(shí)現(xiàn)容器數(shù)據(jù)的持久化。

使用 -v 參數(shù)將本地的目錄掛載到容器中時(shí),Docker 會(huì)將本地目錄中的數(shù)據(jù)直接復(fù)制到容器中,但容器中的數(shù)據(jù)并不會(huì)自動(dòng)同步到本地目錄中。這意味著,如果容器被刪除或本地目錄被刪除,那么數(shù)據(jù)也將被刪除,無法進(jìn)行持久化。

相比之下,使用 volumes 來掛載目錄時(shí),Docker 會(huì)將數(shù)據(jù)存儲(chǔ)在 Docker 所管理的卷中。這些卷可以被 Docker Compose 管理,可以輕松地備份和恢復(fù)。此外,可以使用 docker volume 命令來管理這些卷。使用 volumes,可以更好地管理和持久化容器中的數(shù)據(jù)。

另外,使用 volumes 還可以在容器中共享數(shù)據(jù),并且可以在多個(gè)容器之間共享。這種方法可以減少數(shù)據(jù)復(fù)制的時(shí)間和空間,并減少硬盤的使用量。

綜上所述,使用 volumes 比使用 -v 參數(shù)更加靈活和可管理,可以更好地管理容器中的數(shù)據(jù),可以減少硬盤使用量,并且可以在多個(gè)容器之間共享數(shù)據(jù)。

到此這篇關(guān)于docker目錄和本地目錄互通的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker目錄和本地目錄互通內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker安裝oracle數(shù)據(jù)庫最新版教程

    Docker安裝oracle數(shù)據(jù)庫最新版教程

    這篇文章主要介紹了如何在Docker中安裝和配置Oracle?11g數(shù)據(jù)庫,包括安裝Docker、拉取Oracle鏡像、創(chuàng)建容器、進(jìn)入容器配置、設(shè)置環(huán)境變量、創(chuàng)建軟連接、修改用戶密碼、重啟數(shù)據(jù)庫以及使用Navicat進(jìn)行連接測(cè)試,需要的朋友可以參考下
    2025-02-02
  • 修改已有docker容器中的內(nèi)容方法

    修改已有docker容器中的內(nèi)容方法

    這篇文章主要介紹了修改已有docker容器中的內(nèi)容方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 淺談Docker run 容器處于created狀態(tài)問題

    淺談Docker run 容器處于created狀態(tài)問題

    這篇文章主要介紹了解決Docker run 容器處于created狀態(tài)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用Docker安裝向量數(shù)據(jù)庫milvus并且安裝圖形化界面的方法

    使用Docker安裝向量數(shù)據(jù)庫milvus并且安裝圖形化界面的方法

    文章介紹了如何在Windows上使用Docker安裝并配置Milvus向量數(shù)據(jù)庫,包括啟用WSL2、安裝Ubuntu、配置Docker倉庫、安裝Milvus服務(wù)端和用戶圖形界面Attu,并提供了一個(gè)修改后的Dockerfile以提高Attu的安裝速度,感興趣的朋友一起看看吧
    2025-02-02
  • docker部署訪問postgres數(shù)據(jù)庫的實(shí)現(xiàn)方法

    docker部署訪問postgres數(shù)據(jù)庫的實(shí)現(xiàn)方法

    本文主要介紹了docker部署訪問postgres數(shù)據(jù)庫的實(shí)現(xiàn)方法,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • docker如何安裝doris

    docker如何安裝doris

    文章介紹了使用Docker安裝Apache Doris的兩種方法:通過Docker Compose部署和手動(dòng)部署,前者通過創(chuàng)建`docker-compose.yml`文件并運(yùn)行命令來啟動(dòng)集群,后者則需要手動(dòng)拉取鏡像、啟動(dòng)容器、復(fù)制安裝包并解壓、配置并啟動(dòng)服務(wù)
    2025-02-02
  • docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令

    docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令

    這篇文章主要為大家介紹了docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 詳解centos7 docker1.12安裝私有倉庫

    詳解centos7 docker1.12安裝私有倉庫

    本篇文章主要介紹了centos7 docker1.12安裝私有倉庫,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Docker 教程之CentOS安裝 Docker

    Docker 教程之CentOS安裝 Docker

    這篇文章主要介紹了Docker 教程之CentOS安裝 Docker的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 從Docker容器中備份整個(gè)PostgreSQL的操作步驟

    從Docker容器中備份整個(gè)PostgreSQL的操作步驟

    現(xiàn)在需要從Docker容器中備份整個(gè)PostgreSQL后,然后,使用備份文件在另外一個(gè)pg的docker容器中恢復(fù)過來,所以本文給大家介紹了從Docker容器中備份整個(gè)PostgreSQL的操作步驟,通過代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-10-10

最新評(píng)論