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

总结

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

相关文章

  • 服务器上使用 Docker 的常用命令清单完整流程

    服务器上使用 Docker 的常用命令清单完整流程

    本文介绍了在Ubuntu服务器上使用Docker的常用命令,涵盖了镜像管理、容器操作、日志查看、网络与端口映射、清理资源等方面,适合日常开发和运维使用,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • 解决docker加载新的镜像后repository和tag名称都为none的问题

    解决docker加载新的镜像后repository和tag名称都为none的问题

    这篇文章主要介绍了解决docker加载新的镜像后repository和tag名称都为none的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • MongoDB(docker版)备份还原方式

    MongoDB(docker版)备份还原方式

    这篇文章主要介绍了MongoDB(docker版)备份还原方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)

    Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)

    这篇文章主要介绍了Ubuntu 搭建基于Docker的LNMP+Redis的开发环境的相关资料,这里详细介绍如何搭建的步骤,并附图文,需要的朋友可以参考下
    2016-12-12
  • Docker使用、容器迁移的方案详解

    Docker使用、容器迁移的方案详解

    Docker 是一个开源的容器化平台,用于打包、部署和运行应用程序及其依赖环境,本文给大家介绍Docker使用、容器迁移的方案,感兴趣的朋友一起看看吧
    2025-04-04
  • Docker移动安装目录的2种实现过程

    Docker移动安装目录的2种实现过程

    本文介绍Docker迁移数据目录的两种方法:软链接(无需改配置,路径跳转,适合临时迁移)和配置修改(需编辑daemon.json指定新路径,长期稳定),操作需停服务、备份、确保权限与路径正确
    2025-08-08
  • 清理Docker废弃镜像与缓存详细图文教程

    清理Docker废弃镜像与缓存详细图文教程

    在使用Docker进行开发和部署过程中,我们可能会遇到需要删除旧镜像和容器以释放磁盘空间或清除不再需要的缓存的情况,这篇文章主要给大家介绍了关于清理Docker废弃镜像与缓存的相关资料,需要的朋友可以参考下
    2024-07-07
  • 基于windows10安装docker及遇到的问题

    基于windows10安装docker及遇到的问题

    这篇文章主要介绍了基于windows10安装docker及遇到的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker创建一个mysql容器并保存为本地镜像

    Docker创建一个mysql容器并保存为本地镜像

    本篇文章主要介绍了Docker创建一个mysql容器并保存为本地镜像 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Docker守护进程安全配置项目详解

    Docker守护进程安全配置项目详解

    这篇文章主要介绍了Docker守护进程安全配置介绍,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论