我是Docker的新手,我来自Vagrant.
我在"D:/ Works/something/DockerFirstTime"文件夹中使用Docker(1.9.1).
现在我用它创建机器
docker-machine create first
和简单的Dockerfile:
FROM ruby:2.2-onbuild
和简单的Gemfile:
source 'https://rubygems.org'
gem 'rails'
Run Code Online (Sandbox Code Playgroud)
现在使用此命令,我想在我的Dockerfile的同一个硬盘驱动器中使用像Vagrant中的共享文件夹:
docker run -it -v //d/Works/something/DockerFirstTime:/usr/src/app -w /usr/src/app ruby:2.2 bundle install
但它不起作用.
这该怎么做?
我知道Docker只共享/ c/User /文件夹,是吗?
如何在Windows中使用带有文件的文件夹并使用编辑器修改我的文件,然后在单个PC上的普通shell中重新启动服务器,或者像在Vagrant中那样重启服务器?
我很有智慧,所以希望你们能帮助我.在带有docker-machine的OSX 10.11.2中,我有一个docker-compose文件,它应该构建一个本地Dockerfile并为它附加一个MySQL容器.MySQL容器应该挂载我存储数据库数据的本地文件夹,因此如果容器或VM关闭,我可以重新启动它而不会丢失数据.问题是,当我运行它时,它会抛出一个权限错误:
db_1 | 2015-12-23 19:17:59 7facaa89b740 InnoDB: Operating system error number 13 in a file operation.
db_1 | InnoDB: The error means mysqld does not have the access rights to
db_1 | InnoDB: the directory.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过每一种我能想到的排列方式来实现这个目标.我正在阅读它,它可能与docker-machine如何处理OSX权限有关,但是docker-machine的文档说它安装了/Users文件夹,所以这应该不是问题.
这是docker-compose.yml:
web:
build: .
ports:
- "3000:3000"
links:
- db
db:
image: mysql:5.6
ports:
- "3306:3306"
volumes:
- /Users/me/Development/mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: mypass
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我不禁想到这是非常简单的事情.非常感激任何的帮助!
编辑:
drwxr-xr-x 7 me staff 238 Dec 23 12:10 mysql-data/drwxr-xr-x 1 …我在OSX上运行Docker 1.9.1,并且我通过Cisco AnyConnect VPN连接到我的私人工作网络.我在Docker容器中运行的服务连接到工作网络中的数据库,并且无法从容器内访问,但可以从OSX中的容器外部访问.如果我直接连接到工作网络,而不是通过VPN连接,也可以从容器内访问.我怀疑我可能不得不使用docker-machine VM进行一些网络配置,但我不确定从这里开始.
我最近在Windows 10上升级了Docker Toolbox,现在我的卷挂载不再起作用。我已经尝试了一切。这是当前的安装路径:
volumes:
- C:\Users\Joey\Desktop\backend:/var/www/html
Run Code Online (Sandbox Code Playgroud)
我收到无效的绑定安装错误。
我有以下Dockerfile:
FROM docker.elastic.co/elasticsearch/elasticsearch:5.4.0
RUN elasticsearch
EXPOSE 80
Run Code Online (Sandbox Code Playgroud)
我认为第3行永远不会到达.
当我尝试通过本地机器访问dockercontainer时:172.17.0.2:9300
我什么都没得到,我错过了什么?我想从本地主机访问elasticsearch.
elasticsearch docker elasticsearch-plugin dockerfile docker-machine
我已经创建了3个节点群簇Virtualbox使用docker-machine。这三个都在运行,我可以使用“ docker-machine ssh”连接每个。存在一个问题,我重新启动物理机,集群似乎无法正常工作,为什么?以下是详细信息。感谢您的指导和建议。
san @ san-System-Product-Name:〜$ docker-machine ls
Run Code Online (Sandbox Code Playgroud)NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS first - virtualbox Running tcp://192.168.99.100:2376 v17.06.0-ce second - virtualbox Running tcp://192.168.99.101:2376 v17.06.0-ce third - virtualbox Running tcp://192.168.99.102:2376 v17.06.0-ce第一个是领导者,第二个是管理者,第三个是工人。我试图使用“ docker-machine ssh first docker node ls”。
Error response from daemon:
`rpc error: code = 2 desc = The swarm does not have a leader`.
It's possible that too few managers are online. Make sure more than
half of the managers are …Run Code Online (Sandbox Code Playgroud) 之前我曾问过类似的东西,但我想知道是否有人可以给我一些非常简单的指示,说明如何关闭HyperV容器功能以便我可以使用Virtual Box然后重新启用它们以使用Docker for Windows
目前我从Docker for Windows获得以下消息
"Hyper-V和容器功能未启用.您是否要启用它们以使Docker能够正常工作?您的计算机将自动重启.注意:VirtualBox将不再有效."
我不需要同时使用两者
我真的需要明确的指示,因为我不想处于我得到docker工作的位置,然后再也不能使用Virtual Box了!
我需要经常使用我现有的Virtual Box VM而且我不能处于无法使用它们的位置
保罗
Docker-toolbox 安装在 windows 机器上。我进入容器,例如:docker exec -it web / bin / sh我可以在那里输入命令。
如何访问容器内输入命令的历史记录?在所有控制台中,这是使用up arrow key, 在这里当您按下此键时,^ [[A.
如何查看历史记录或至少调用上一个命令?
我找不到关于 Docker sleep 命令的作用的明确解释,有人可以解释一下吗?例如:
docker container run -d alpine sleep 1d
Run Code Online (Sandbox Code Playgroud)
我在网上查了一下,但找不到简单的解释。
docker dockerfile docker-compose docker-swarm docker-machine
docker-machine ×10
docker ×9
dockerfile ×3
docker-swarm ×2
windows ×2
asp.net ×1
boot2docker ×1
mysql ×1
networking ×1
virtualbox ×1
vpn ×1