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

Docker宿主機(jī)與容器之間的文件拷貝實(shí)例詳解

 更新時(shí)間:2023年06月06日 16:18:32   作者:呼啦啦dxy  
現(xiàn)在公司用docker,有時(shí)候需要從容器中拷貝文件出來,下面這篇文章主要給大家介紹了關(guān)于Docker宿主機(jī)與容器之間的文件拷貝的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下

一,Docker運(yùn)行MySQL容器

容器中的管理數(shù)據(jù)主要有兩種方式:

   數(shù)據(jù)卷 Data Volumes 容器內(nèi)數(shù)據(jù)直接映射到本地主機(jī)環(huán)境;

   數(shù)據(jù)卷容器(Data Volume Containers 使用特定容器維護(hù)數(shù)據(jù)卷

利用MySQL鏡像安裝MySQL服務(wù)

docker run -p 3307:3306 --name mysql1   -di -v /home/javaxl/data/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/ -v /home/javaxl/data/mysql/data/:/var/lib/mysql -v /home/javaxl/data/mysql/log/:/var/log -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

在虛擬機(jī)連接工具中創(chuàng)建MySQL數(shù)據(jù)庫,將以上代碼在鏈接工具運(yùn)行即可

執(zhí)行完畢后在數(shù)據(jù)庫中嘗試鏈接 

當(dāng)出現(xiàn)以下錯(cuò)誤時(shí)也許是沖突的原因,有兩個(gè)后多個(gè)密碼相同的數(shù)據(jù)庫,在鏈接工具中停掉其中一個(gè)即可(命令如下:docker stop 數(shù)據(jù)庫名

從容器中拷貝文件到宿主機(jī)

docker cp tomcat1:/usr/local/tomcat/webapps/hello /javadxy/software/apache-tomcat-8.5.20/webapps

從宿主機(jī)拷貝文件到容器(與上反過來)

docker cp /javadxy/software/apache-tomcat-8.5.20/webapps tomcat1:/usr/local/tomcat/

二,數(shù)據(jù)卷

數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,它將主機(jī)操作系統(tǒng)目錄直接映射進(jìn)容器。

   它可以提供很多有用的特性:

   1.數(shù)據(jù)卷 可以在容器之間共享和重用

   2.對(duì)數(shù)據(jù)卷的修改會(huì)立馬生效

   3.對(duì)數(shù)據(jù)卷的更新,不會(huì)影響鏡像

   4.數(shù)據(jù)卷 默認(rèn)會(huì)一直存在,即使容器被刪除

將宿主機(jī)的目錄與容器的目錄進(jìn)行掛載,實(shí)現(xiàn)數(shù)據(jù)共享

docker run -di --name c2 -v /home/dxy/data/:/home/xionger/data/ centos:7

 前面放的是前面是宿主機(jī)目錄,后面是容器目錄

執(zhí)行以上命令

結(jié)論:不管宿主機(jī)、容器在指定目錄創(chuàng)建文件夾還是文件,都會(huì)會(huì)被共享;

三,數(shù)據(jù)卷容器

數(shù)據(jù)卷容器

   如果用戶需要在多個(gè)容器之間共享一些持續(xù)更新的數(shù)據(jù),最簡單的方式是使用數(shù)據(jù)卷容器。

   數(shù)據(jù)卷容器也是一個(gè)容器,但是它的目的是專門提供數(shù)據(jù)卷給其他容器掛載

docker run -di -v /home/javadxy/data/c4 --name c4 centos:7

標(biāo)記部分屬于內(nèi)部容器 

docker run -di --volumes-from c4 --name c6 centos:7

其中c4為數(shù)據(jù)卷容器,c6為普通容器,其中c4就起到一個(gè)橋接作用,我們可以通過docker inspect查看容器的詳細(xì)情況  

docker inspect c4

docker inspect c6(建議將這段copy出來后續(xù)會(huì)用的到)

會(huì)發(fā)現(xiàn)c4、c6目錄掛載情況是一樣的

結(jié)論:不管c4、c6在指定目錄創(chuàng)建文件夾還是文件,都會(huì)會(huì)被共享;

四,Dockerfile制作增強(qiáng)版

自定義centos,具備vim及ifconfig作用(體會(huì)學(xué)習(xí)Dockerfile的意義)

cd /javaxl/software
mkdir mydocker
vi mycentosDockerfile

構(gòu)建鏡像

?docker build -f mycentosDockerfile -t javadxy/centos:v1.0 .

 通過鏡像運(yùn)行一個(gè)容器進(jìn)行測(cè)試

docker run -it --name mc1 javadxy/centos:v1.0 /bin/bash

向 mycentosDockerfile 編輯內(nèi)容  

FROM centos:7
MAINTAINER javaxl "javaxl@qq.com"
RUN yum -y install vim
RUN yum install net-tools.x86_64 -y
CMD /bin/bash

五,Docker制作自定義Tomcat

cd /javaxl/software
mkdir mydocker
vi mytomcatDockerfile? ? -------------創(chuàng)建目錄

 向 mytomcatDockerfile 編輯內(nèi)容

FROM centos:7   
MAINTAINER javaxl "javaxl@qq.com"

ENV workerDir /home/javaxl/dockerfile/3       ----------------代表容器自動(dòng)跳轉(zhuǎn)的容器
WORKDIR $workerDir

ADD jdk-8u151-linux-x64.tar.gz $workerDir
COPY apache-tomcat-8.5.20.tar.gz $workerDir
RUN tar -xvf apache-tomcat-8.5.20.tar.gz apache-tomcat-8.5.20

ENV JAVA_HOME $workerDir/jdk1.8.0_151
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV TOMCAT_HOME $workerDir/apache-tomcat-8.5.20
ENV PATH $JAVA_HOME/bin:$TOMCAT_HOME/bin:$TOMCAT_HOME/lib:$PATH         ---------配置變量

EXPOSE 8080     ---------開放端口
ENTRYPOINT ["/home/javaxl/dockerfile/3/apache-tomcat-8.5.20/bin/catalina.sh","run"]

ADD與COPY的區(qū)別:

add是將壓縮包添加到工作目錄并解壓

copy只把壓縮包上傳至工作目錄不解壓

提示:將以上步驟完成之后不能直接執(zhí)行以下命令,要看當(dāng)前目錄是否有jdk文件 

 以上沒問題后在執(zhí)行以下命令

docker build -f mytomcatDockerfile -t javaxl/tomcat8:v1.0 .

如圖完成 

通過鏡像運(yùn)行2個(gè)容器進(jìn)行測(cè)試

?docker run -di --name mt1 -P javaxl/tomcat8:v1.0
?docker run -di --name mt2 -P javaxl/tomcat8:v1.0

然后在瀏覽器上輸入地址訪問Tomcat 

http://192.168.195.139:49153/
http://192.168.195.139:49154/

總結(jié) 

到此這篇關(guān)于Docker宿主機(jī)與容器之間的文件拷貝的文章就介紹到這了,更多相關(guān)Docker宿主機(jī)與容器的文件拷貝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker如何查看鏡像里的文件

    Docker如何查看鏡像里的文件

    文章介紹了如何在開發(fā)過程中檢查Docker鏡像中的文件是否符合預(yù)期,步驟包括下載鏡像、創(chuàng)建并運(yùn)行臨時(shí)容器查看內(nèi)容,以及停止和刪除臨時(shí)容器
    2024-11-11
  • 如何查看docker-compose.yml所在位置

    如何查看docker-compose.yml所在位置

    這篇文章主要介紹了如何查看docker-compose.yml所在位置問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker可視化管理工具DockerUI的使用

    Docker可視化管理工具DockerUI的使用

    這篇文章主要介紹了Docker可視化管理工具DockerUI的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • docker配置靜態(tài)ip的實(shí)現(xiàn)示例

    docker配置靜態(tài)ip的實(shí)現(xiàn)示例

    如果不配置會(huì)docker會(huì)自動(dòng)分配ip地址給容器,但是每次重啟后ip地址會(huì)改變,本文主要介紹了docker配置靜態(tài)ip的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Docker搭建Redis主從復(fù)制的實(shí)現(xiàn)步驟

    Docker搭建Redis主從復(fù)制的實(shí)現(xiàn)步驟

    本文主要介紹了Docker搭建Redis主從復(fù)制的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Docker掛載資料卷保存MySQL數(shù)據(jù)

    Docker掛載資料卷保存MySQL數(shù)據(jù)

    這篇文章介紹了Docker掛載資料卷保存MySQL數(shù)據(jù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • 手工制作docker鏡像-包含多個(gè)服務(wù)ssh+nginx

    手工制作docker鏡像-包含多個(gè)服務(wù)ssh+nginx

    這篇文章主要介紹了手工制作docker鏡像-包含多個(gè)服務(wù)ssh+nginx,需要的朋友可以參考下
    2024-07-07
  • docker使用jdk21啟動(dòng)jar包報(bào)錯(cuò)的解決方案

    docker使用jdk21啟動(dòng)jar包報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了docker使用jdk21啟動(dòng)jar包報(bào)錯(cuò)的解決方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 在Linux系統(tǒng)中安裝Docker的過程

    在Linux系統(tǒng)中安裝Docker的過程

    這篇文章主要介紹了如何在Linux系統(tǒng)中安裝Docker,其實(shí)安裝docker真的很簡單,只需要幾條命令就可以完成了,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • Docker 容器之間的互相通信實(shí)現(xiàn)示例

    Docker 容器之間的互相通信實(shí)現(xiàn)示例

    本文主要介紹了Docker 容器之間的互相通信實(shí)現(xiàn)示例,通過創(chuàng)建自定義網(wǎng)絡(luò),你可以輕松地在 Docker 容器之間建立通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01

最新評(píng)論