docker-machine 目录映射一个重要的知识点

docker-machine是docker创建的实用性工具。利用docker-machine能轻松创建一个虚拟机,并在虚拟机中安装配置好docker环境。

这里docker-machine安装教程略过,在docker toolbox中会带有docker-machine工具包,安装好docker toolbox后,在命令行直接使用“docker-machine”进行虚拟机管理。

在windows操作系统下docker-machine过程中,涉及到的一些目录共享和目录映射问题点作出一些说明。

在windows下使用docker-compose或者docker run过程中的目录映射会出现以下问题。

首先我们了解以下windows下docker-machine创建的虚拟机,作为宿主机如何访问虚拟机中的容器应用,以下是一个逻辑结构。

设置virtualbox共享文件夹功能

因此在写docker-compose.yaml文件时,应该写就

version: "3"
services:
   php:
      image: ldjbenben/swoole:4.2-php7.3-fpm
      volumes:
         - /lnmp/www:/usr/share/nginx/html/
         - /lnmp/php/php.ini:/usr/local/php/etc/php.ini
         - /lnmp/php/php-fpm.conf:/usr/local/php/etc/php-fpm.conf
      networks:
         - lnmp
      container_name: php
   nginx:
       image: nginx
       ports:
          - "81:80"
          - "82:82"
          - "9537:9537"
          - "9518:9518"
       volumes:
          - /lnmp/www:/usr/share/nginx/html/
          - /lnmp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
          - /lnmp/nginx/logs:/var/log/nginx/
       # command: bash -c "groupadd www && useradd -g www www"
       networks:
          - lnmp
       container_name: nginx
   mysql:
       image: mysql:5.7
       environment:
           - MYSQL_ROOT_PASSWORD=zml123
       networks:
          - lnmp
       container_name: mysql
   redis:
      image: redis
      networks:
        - lnmp
      command: redis-server --requirepass zml123
      container_name: redis
networks:
   lnmp:

可以看到在volumes目录映射中,写的是虚拟机目录/lnmp和容器目录映射,而不是写成“/f/lnmp:/usr/share”等等结构。同理,在docker run命令中-v目录映射也要注意。

这个主要还是注意宿主机和虚拟机,容器所在位置关系。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值