Docker和宿主机之间如何共享文件
作者:nudt_qxx
这篇文章主要介绍了Docker和宿主机之间如何共享文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Docker和宿主机之间共享文件
其实只需要一条命令,就能实现Docker和宿主机之间共享文件。
启动Docker镜像的命令一般如下:
docker run -it microsoft/dotnet:latest /bin/bash
其中-it后面的参数就是你docker镜像的名称。
现在只需要加一个-v参数即可。
docker run -it -v /home/haha/下载:/share microsoft/dotnet:latest /bin/bash
上面命令表示:
把宿主机的/home/haha/下载目录挂载到microsoft/dotnet:latest容器的/share目录下。
执行完上面命令进入Docker容器后,进入/share文件夹下,ls后就会看到原来宿主机下目录“/home/haha/下载”的文件。
docker-运维-共享宿主机的jdk
准备
mkdir dc-jdk cd dc-jdk
创建dockerfile
在 dc-jdk
中创建 Dockerfile
文件:
FROM ubuntu:latest ENV LANG C.UTF-8 # 指定容器内jdk所在目录 ENV JAVA_HOME /opt/softinstall/jdk1.8.0_11 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
创建docker-compose.yml
在 dc-jdk
中创建 docker-compose.yml
文件:
version: '3' services: myjdk18: build: context: . dockerfile: Dockerfile volumes: # 将本地的jdk目录/opt/softinstall/jdk1.8.0_11挂载到容器中 # 本地jdk目录:容器jdk目录 - /opt/softinstall/jdk1.8.0_11:/opt/softinstall/jdk1.8.0_11 command: java -version
构建镜像
这一步很重要!
每次修改了dockerfile 之后,都需要执行这个命令!!坑死了都 >_>
$ docker-compose build
[root@bluesky dc-jdk]# docker-compose build Building myjdk18 Step 1/5 : FROM ubuntu:latest ---> 775349758637 Step 2/5 : ENV LANG C.UTF-8 ---> Using cache ---> 9d7b38a12294 Step 3/5 : ENV JAVA_HOME /opt/softinstall/jdk1.8.0_11 ---> Using cache ---> 07da70072ae2 Step 4/5 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ---> Using cache ---> f707d196f0fa Step 5/5 : ENV PATH $PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin ---> Using cache ---> 9d436adab128 Successfully built 9d436adab128 Successfully tagged dc-jdk_myjdk18:latestd
运行容器
$ docker-compose up
[root@bluesky dc-jdk]# docker-compose up Creating dc-jdk_myjdk18_1 ... done Attaching to dc-jdk_myjdk18_1 myjdk18_1 | java version "1.8.0_11" myjdk18_1 | Java(TM) SE Runtime Environment (build 1.8.0_11-b12) myjdk18_1 | Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode) dc-jdk_myjdk18_1 exited with code 0
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。