从CoreOS VM运行以下命令时,它按预期工作:
docker run --rm -v $PWD:/data composer init
Run Code Online (Sandbox Code Playgroud)
它将composer.json使用指定的Docker卷映射初始化当前工作目录中的文件.Docker容器基本上安装了PHP工具组合器,并将/data在容器的文件夹中运行该工具.通过使用映射,它实际上将其应用于主机上的文件.
但是,当尝试使用Docker Toolbox在Windows上运行此命令时,我收到以下错误.
$ docker run --rm -v $PWD:/data composer --help
invalid value "C:\\Users\\Marco;C:\\Program Files\\Git\\data" for flag -v: bad mount mode specified : \Program Files\Git\data
See 'C:\ProgramData\Chocolatey\lib\docker\bin\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)
我在这里注意到的是,虽然我在Git Bash执行命令时它仍使用Windows路径.那么我试着跟随(用引号括起来):
$ "docker run --rm -v $PWD:/data composer --help"
bash: docker run --rm -v /c/Users/Marco:/data composer --help: No such file or directory
Run Code Online (Sandbox Code Playgroud)
现在它无法找到该目录.
我也试过没有$ PWD变量,但这没有什么区别.
如何在Windows上进行此操作?
我在使用docker-machine内的docker-compose访问反应容器时遇到问题.我可以卷曲容器内的网页,但我无法在docker-machine(或主机的浏览器)中访问它.可以从docker-machine和主机的浏览器访问后端Golang容器(如片段中所示,它返回404未找到).
在docker-compose日志中,一切似乎都在顺利运行,webpack-dev-server按预期运行,我无法从容器外部访问它.
我正在使用docker toolbox for windows.
最好用一些片段来描述问题.
Docker-compose文件:
version: '2'
services:
postgres:
image: postgres
environment:
- POSTGRES_PASSWORD=postgres
server:
build: ./server
command: gin
volumes:
- ./server:/go/src/app
ports:
- "8080:3000"
environment:
- POSTGRES_PASSWORD=postgres
client:
build: ./client
command: npm start
volumes:
- ./client:/usr/src/app
# mount node_modules as a workaround for it disappearing
# after adding /client as a mounted folder
- /usr/src/app/node_modules
ports:
- "9000:3000"
Run Code Online (Sandbox Code Playgroud)
节点容器的Dockerfile:
FROM node:6.5.0-slim
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
ENV NODE_ENV development
RUN …Run Code Online (Sandbox Code Playgroud) 我正在运行Docker Toolbox v. 1.13.1a的Windows 7 Pro Service pack 1 x64操作系统.同Virtual Box Version 5.1.14 r112924
当我尝试运行任何泊坞窗图像时,例如official postgres image从Docker Hub禁用卷,它工作正常!
但是,当我enable the volumes是失败.
我尝试了所有官方文件
在VM共享文件夹作为需要,并且具有full access到它也
共享文件夹的屏幕截图
在我的postgresql示例的情况下,它崩溃与以下 log
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8". …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用用于开发的秘密来组成堆栈,我在docker / secrets / FILE_NAME中使用本地文件,而我在Windows 10中使用了此文件,但是我正在努力使其在win7工具箱下工作。我收到一个错误:
Cannot create container for service db:
invalid volume specification:
'C:\project\docker\secrets\DB_USERNAME:/run/secrets/db-username:ro'
Run Code Online (Sandbox Code Playgroud)
我试图设置COMPOSE_CONVERT_WINDOWS_PATH,但是不幸的是,这没有任何改变。我将得到与true或false相同的输出。设置绝对路径也无济于事。
Docker撰写版本1.16.1的内部版本6d1ac219 Docker版本17.10.0-ce,的内部版本f4ffd25
我的docker-compose.yml
version: '3.3'
services:
db:
image: postgres
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD_FILE=/run/secrets/db-password
- POSTGRES_USER_FILE=/run/secrets/db-username
- POSTGRES_DB_FILE=/run/secrets/db-name
secrets:
- db-username
- db-password
- db-name
web:
build:
context: ./docker/machines/django/
args:
buildno: 1
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- ./Server:/Server
ports:
- "8000:8000"
depends_on:
- db
secrets:
- db-username
- db-password
- db-name
secrets:
db-username:
file: ./docker/secrets/DB_USERNAME
db-password:
file: ./docker/secrets/DB_PASSWORD
db-name:
file: …Run Code Online (Sandbox Code Playgroud) windows-7 docker docker-compose docker-toolbox docker-secrets
我目前正在尝试在docker中运行React应用程序。我正在运行npm start容器内部运行的create-react-app软件包中包含的脚本,并且正在使用绑定安装在主机中工作并反映容器中的更改。遗憾的是,即使文件确实发生了更改,react软件包附带的重新编译功能也无法在容器内部运行。所要抓住的是,我正在使用摘要工具箱。你们知道这可能是什么问题吗?为什么不重新编译?
我的文件结构如下。
project
| .dockerignore
| .gitignore
| docker-compose.yml
| Dockerfile
| LICENSE
| README.md
|
\---frontend
+---nodemodules\*
| package-lock.json
| package.json
| README.md
|
+---public
| index.html
|
\---src
| index.js
|
\---container
App.jsx
Run Code Online (Sandbox Code Playgroud)
Docker文件
FROM node:8.11.1
COPY . /usr/src/
WORKDIR /usr/src/frontend
ENV PATH /usr/src/frontend/node_modules/.bin:$PATH
RUN npm install -g create-react-app
RUN npm install
EXPOSE 3000
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: "3.5"
services:
react:
build:
context: .
dockerfile: Dockerfile
volumes:
- "./frontend:/usr/src/frontend"
- '/usr/src/frontend/node_modules'
ports: …Run Code Online (Sandbox Code Playgroud) docker reactjs docker-compose docker-toolbox create-react-app
我已经使用图形安装程序(官方安装程序)和安装了新的Docker Toolbox应用程序brew cask install.
在这两种情况下,虚拟机都是正确创建的,但是在环境中似乎有些错误,因为当我尝试docker-machine在命令行上执行时,它会像这样失败:
$ docker-machine env default
open /Users/adeynack/.docker/machine/machines/default/ca.pem: no such file or directory
Run Code Online (Sandbox Code Playgroud)
当我尝试时Kitematics,它会像这样失败:
我试过了Delete VM and retry setup,没有成功.欢迎任何见解或想法.
编辑:我已经在使用VirtualBox的测试版本5.0.3.
我将Docker工具箱用于Windows,我正在尝试从本文档https://docs.docker.com/registry/deploying/运行私有Docker注册表
但这对我不起作用。之后的错误:
$ docker pull 192.168.99.100:5000/my-ubuntu
Run Code Online (Sandbox Code Playgroud)
错误
$ docker pull 192.168.99.100:5000/image
Using default tag: latest
Error response from daemon: Get https://192.168.99.100:5000/v2/: http: server gave HTTP response to HTTPS client
Run Code Online (Sandbox Code Playgroud)
我认为该错误是我的Docker客户端中的问题。
有关信息,这是我的码头工人信息
Containers: 6
Running: 4
Paused: 0
Stopped: 2
Images: 19
Server Version: 17.06.0-ce
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 144
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Visual studio 2017 为在 Linux 容器上运行的 .net core 2.0 Web 应用程序运行 docker 支持。我正在使用 win 7 操作系统的机器上工作,所以我必须使用带有 Virtual box 的 Docker 工具箱。我已经检查过这个问题:How to get docker toolbox to work with .net core 2.0 project,但是当尝试使用 VS 运行它时,我遇到了以下问题:
未启用卷共享。在 docker ce for windows 设置中启用卷共享
到目前为止,我知道 C:\Users 下安装了一个默认卷,因此我的项目文件应该复制到此文件夹下的某个位置,以防我不想安装任何其他卷。所以我把它们复制到那里。
当我检查虚拟盒子的设置时,文件夹似乎已共享:
我什至可以使用命令行 cd 进入该文件夹,但仍然无法解决这个问题。对此有什么想法吗?
我试图通过在 git bash 中运行 shell 脚本来在 Windows 7(带有 Oracle VM 的 Docker 工具箱)中构建一个 docker 容器,该脚本具有带有 rsync 的命令,如下所示:
rsync -a --exclude='*/node_modules' $PROJECT_PATH/project_name/src/ ./project_name/src
Run Code Online (Sandbox Code Playgroud)
和价值$PROJECT_PATH=/c/Users/yajnesh_rai/git
这是我在控制台中看到的:
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.2]
Run Code Online (Sandbox Code Playgroud)
一些在线文档说使用正斜杠作为没有驱动器名称的路径,我尝试了这种方式
$PROJECT_PATH=\\Users\\yajnesh_rai\\git
Run Code Online (Sandbox Code Playgroud)
这使得 rsync 工作,但无法复制文件,如下所示:
\Users\yajnesh_rai\git/project_name/src/folder_name/file_name: warning: directory does not exist.
Run Code Online (Sandbox Code Playgroud)
我按照本文中提到的步骤在 Windows 上安装了 rsync: https: //blog.tiger-workshop.com/add-rsync-to-git-bash-for-windows/
任何解决该问题的帮助都将受到赞赏!提前致谢
当我尝试运行git-all-secrets时,我得到了Dockerfile:命令未找到,这是包含正确信息的命令
这是问题的一个例子
root@momo22:/home/momo/git-all-secrets# docker run -it abhartiya/tools_gitallsecrets -token=9a8b60a10cf683f238e05 -org=bugcrwod
Command 'docker' is available in '/snap/bin/docker'
The command could not be located because '/snap/bin' is not included in the PATH environment variable.
docker: command not found
root@momo22:/home/momo/git-all-secrets#
Run Code Online (Sandbox Code Playgroud) docker ×10
docker-toolbox ×10
virtualbox ×2
windows ×2
.net-core ×1
bash ×1
boot2docker ×1
coreos ×1
go ×1
macos ×1
node.js ×1
reactjs ×1
rsync ×1
windows-7 ×1