我是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中那样重启服务器?
之前我曾问过类似的东西,但我想知道是否有人可以给我一些非常简单的指示,说明如何关闭HyperV容器功能以便我可以使用Virtual Box然后重新启用它们以使用Docker for Windows
目前我从Docker for Windows获得以下消息
"Hyper-V和容器功能未启用.您是否要启用它们以使Docker能够正常工作?您的计算机将自动重启.注意:VirtualBox将不再有效."
我不需要同时使用两者
我真的需要明确的指示,因为我不想处于我得到docker工作的位置,然后再也不能使用Virtual Box了!
我需要经常使用我现有的Virtual Box VM而且我不能处于无法使用它们的位置
保罗
我开始使用Docker Machine,我刚看到有一个scp命令.就像文件说:
$ docker-machine ssh dev 'echo A file created remotely! >foo.txt'
$ docker-machine scp dev:/home/docker/foo.txt .
我通过创建一个文件然后执行相同的操作:
docker-machine scp default:/home/docker/test.txt .
但我一直面临着身份1.
如果我反过来,并将文件上传到容器,我将面临与状态1的连接丢失.命令:
docker-machine scp mongo.tar default:mongo.tar
Run Code Online (Sandbox Code Playgroud)
请假设我不是ssh和scp的专家.
在我的Mac上,当我通过运行"Docker quickstart终端"启动defaultdocker时,它将启动docker机器.
我在start.shdocker quickstart终端中看到的是:
#!/bin/bash
VM=default
DOCKER_MACHINE=/usr/local/bin/docker-machine
VBOXMANAGE=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage
BLUE='\033[0;34m'
GREEN='\033[0;32m'
NC='\033[0m'
... more
Run Code Online (Sandbox Code Playgroud)
如何在不修改此shell文件的情况下启动另一个docker机器?
我想在Ubuntu 16.04中安装docker.我正在关注docker安装的链接.我最终找不到包docker-engine
我目前的核心版本 - 4.4.0-38-通用 Ubuntu版本 - 16.04
突然间,docker 在我的系统中显示了一个奇怪的问题。
docker login间歇性地失败并且docker pull根本不工作:(。
这是docker 登录成功但 docker pull 失败并出现错误的一个实例。
$ docker login
Authenticating with existing credentials...
Login Succeeded
$ docker pull cooldocker19/manas-simple-flask:latest
Error response from daemon: Head https://registry-1.docker.io/v2/cooldocker19/manas-simple-flask/manifests/latest: Get https://auth.docker.io/token?account=cooldocker19&scope=repository%3Acooldocker19%2Fmanas-simple-flask%3Apull&service=registry.docker.io: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Run Code Online (Sandbox Code Playgroud)
当我从我的浏览器或邮递员尝试上述 url ( ref: https://auth.docker.io/token? ) 时,它会按预期返回正确的 access_token,但不确定为什么 docker daemon 无法获取它。
我关注了多个 docker/StackOverflow 线程,其中有几个人报告了这个问题。前任 :
我按照几个线程中的建议添加了以下 DNS,但没有任何帮助。在尝试了不同的设置并花费了超过 4/5 个小时后,我有点筋疲力尽。如果您知道如何解决此问题,请告诉我。
{
"dns": [
"8.8.8.8",
"8.8.4.4"
]
}
Run Code Online (Sandbox Code Playgroud)
PN - 我可以从托盘图标登录到 …
我正在尝试按照这篇文章,将当前用户添加到 Docker 组:
sudo usermod -aG docker $(whoami)
Run Code Online (Sandbox Code Playgroud)
当然,usermodmacOS 上没有命令:
-bash:usermod:找不到命令
现在我想知道 macOS 上是否有与上述命令等效的命令?可能使用dscl?
PS1。我已经使用这些说明来设置 Docker 并docker-machine.
PS2。这个问题与 Visual Studio Code (VSCode) 特别无关,但如果我打开一个新终端并运行eval "$(docker-machine env default)",然后运行 VSCode,code问题就解决了。
我想根据这里的docker官方文档设置rootless docker。所有 docker 服务已停止,但是运行以下命令时:
dockerd-rootless-setuptool.sh install
我收到以下错误:
[错误] 中止,因为 rootful Docker (/var/run/docker.sock) 正在运行且可访问。设置 --force 来忽略。
如果我使用--force选项安全吗?
我正在尝试使用 docker 构建新映像,但是当我输入构建命令时:
docker image build -t vue-app .
我收到此错误:
[+] Building 0.2s (2/2) FINISHED
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 229B 0.0s
=> [internal] load .dockerignore 0.2s
=> => transferring context: 67B 0.0s
ERROR: failed to solve: Internal: Internal: stream terminated by RST_STREAM with error code: INTERNAL_ERROR
Run Code Online (Sandbox Code Playgroud)
我的 Dockerfile 也是
FROM node:latest
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "run", "dev"]
Run Code Online (Sandbox Code Playgroud)
如果您能帮助我,我将不胜感激。
我尝试过:
- 重新启动我的机器;
- 创建 .dockerignore 文件;
- …
docker ×10
docker-machine ×10
dockerfile ×2
blockchain ×1
boot2docker ×1
dns ×1
linux ×1
macos ×1
scp ×1
ubuntu ×1
ubuntu-16.04 ×1
virtualbox ×1