Docker和宿主机之间如何共享文件

 更新时间:2024年01月09日 16:39:23   作者: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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • IDEA使用Docker插件(菜鸟教程)

    IDEA使用Docker插件(菜鸟教程)

    本文主要介绍了IDEA使用Docker插件,文中通过图文示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • docker 查看容器日志命令的实现

    docker 查看容器日志命令的实现

    这篇文章主要介绍了docker 查看容器日志命令的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 如何解决对Docker容器内存限制警告或未实际限制的问题

    如何解决对Docker容器内存限制警告或未实际限制的问题

    这篇文章主要介绍了如何解决对Docker容器内存限制警告或未实际限制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Docker 安装启动Jenkins的方法(docker-compose)

    Docker 安装启动Jenkins的方法(docker-compose)

    这篇文章主要介绍了Docker 安装启动 Jenkins(docker-compose)的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 关于docker部署服务时ip无法访问服务正常的问题

    关于docker部署服务时ip无法访问服务正常的问题

    小编在使用docker部署应用的时候,无法使用IP地址访问,防火墙已经关闭,可以ping通,应用已经配置0.0.0.0,怎么回事?下面小编给大家介绍下docker部署服务,ip无法访问,服务正常的解决方法,感兴趣的朋友一起看看吧
    2022-09-09
  • Docker安装部署单机版Rocket及基础讲解

    Docker安装部署单机版Rocket及基础讲解

    RocketMQ是阿里巴巴旗下一款开源的MQ框架,经历过双十一考研、Java编程语言实现,有非常好完整生态系统,这篇文章主要介绍了用Docker部署安装单机版Rocket及基础讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2022-07-07
  • Docker常用命令与小技巧汇总

    Docker常用命令与小技巧汇总

    这篇文章主要给大家介绍了关于Docker常用命令与小技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • Docker-Compose创建mysql容器详解

    Docker-Compose创建mysql容器详解

    这篇文章主要介绍了Docker-Compose创建mysql容器详解的相关资料,需要的朋友可以参考下
    2022-11-11
  • Docker 容器操作退出后进入解决办法

    Docker 容器操作退出后进入解决办法

    这篇文章主要介绍了Docker 容器操作退出后进入解决办法的相关资料,需要的朋友可以参考下
    2016-10-10
  • docker pull拉取超时的解决方案

    docker pull拉取超时的解决方案

    这篇文章主要介绍了docker pull拉取超时的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论