我正在尝试使用docker-maven-plugin(由spotify提供:https://github.com/spotify/docker-maven-plugin)来构建一个docker镜像,但事情并没有真正解决.起初我得到了这个例外:
org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375
Run Code Online (Sandbox Code Playgroud)
我发现我必须创建一个环境.变量来解决这个问题(https://github.com/spotify/docker-maven-plugin/issues/135):
set DOCKER_HOST=set DOCKER_HOST=tcp://192.168.99.100:2376
Run Code Online (Sandbox Code Playgroud)
所以在设置了env之后.变量我一直得到这个ClientProtocolException:
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.3.258:build (default-cli) on project docker_micro_maven: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.client.ClientProtocolException: The server failed to respond with a valid HTTP response
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题,任何输入都会非常感激.
我在Windows中使用Docker Toolbox,并尝试在docker-compose.yml文件中安装Windows文件夹,如下所示:
nginx:
image: nginx:latest
container_name: test_server
ports:
- "80:80"
volumes:
- /sss:/c/data/www:ro
environment:
- VIRTUAL_HOST=test.local
Run Code Online (Sandbox Code Playgroud)
我的目标是挂载C:\data\www到已经由Docker Toolbox创建的boot2docker VM映像,然后从那里挂载到其中的nginx容器.
不幸的是它不起作用.我在boot2docker映像中获得了一个文件夹sss,但它没有定位到我的Windows数据,它是空的.
我究竟做错了什么?在开发过程中有没有更好的做法才能在Windows上使用Docker(所以你需要在Windows,Docker VM(boot2docker)和Docker容器之间共享代码)?
我最近在Windows 10上升级了Docker Toolbox,现在我的卷挂载不再起作用。我已经尝试了一切。这是当前的安装路径:
volumes:
- C:\Users\Joey\Desktop\backend:/var/www/html
Run Code Online (Sandbox Code Playgroud)
我收到无效的绑定安装错误。
我创建了一个基于 ASP.NET Core 3.1 框架的 Web API 项目。后来,我决定将其部署在 Linux 上而不是 Windows VPS 上。在 Linux VPS 上部署应用程序之前,我希望能够在 Windows 7 上使用 Visual Studio 2019 在本地运行 docker 容器。
我在我的机器上安装了适用于 Windows 的 docker 工具箱以及 Oracle VM VirtualBox。
由于我的项目不是使用 Docker 支持创建的,因此我右键单击了我的项目 >> 添加 >>“添加 Docker”支持,它创建了Dockerfile.
现在,当我尝试在 Visual Studio 上构建/调试我的应用程序时,出现以下错误
Error CTC1003 Visual Studio container tools require Docker to be running. ProjectName C:\Users\MyUsername\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.9.10\build\Container.targets 198
Run Code Online (Sandbox Code Playgroud)
我通过单击“Docker Quickstart Terminal”启动了 Docker。我还能够验证default虚拟盒是否正在运行。此外,我在默认 VM 上添加了“C_Drive”作为共享文件夹。
如何使用 docker 正确启动/调试我的解决方案?
这里是我的内容 Dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR …Run Code Online (Sandbox Code Playgroud) visual-studio docker docker-toolbox asp.net-core visual-studio-2019
我安装了 docker 工具箱,但是当我尝试创建容器时,它给了我这个错误。返回版本,但无法创建容器。
操作系统:Windows 10 家庭版
ERROR: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Run Code Online (Sandbox Code Playgroud) 我将boot2docker更新为DockerToolbox.
现在我尝试使用Sequal Pro(MySQL客户端)连接到我的数据库,但是我的ssh登录到我的VM失败了以下用户名和密码:
IP:192.168.99.100
用户:docker
密码:tcuser
如何在DockerToolbox中找到ssh登录的正确用户名和密码?
当我尝试连接终端时,我看到以下警告
我在Windows 8.1中安装了Docker Toolbox并且一直在关注安装教程.当你进入创建和推动自己想象的步骤时,我在尝试运行时遇到了这个错误docker login ....
### VIA Docker Quickstart Terminal
### docker login --username=myuser --password="mypass" --email=myemail@gmail.com
time="2015-11-17T03:20:58.160803558Z" level=debug msg="Calling POST /v1.21/auth"
time="2015-11-17T03:20:58.160838971Z" level=info msg="POST /v1.21/auth"
time="2015-11-17T03:20:58.169033324Z" level=debug msg="hostDir: /etc/docker/certs.d/https:/registry-win-tp3.docker.io/v1"
time="2015-11-17T03:20:58.169071565Z" level=debug msg="pinging registry endpoint https://registry-win-tp3.docker.io/v1/"
time="2015-11-17T03:20:58.169084660Z" level=debug msg="attempting v1 ping for registry endpoint https://registry-win-tp3.docker.io/v1/"
time="2015-11-17T03:20:58.898542338Z" level=debug msg="Error unmarshalling the _ping PingResult: invalid character '<' looking for beginning of value"
time="2015-11-17T03:20:58.898803841Z" level=debug msg="PingResult.Version: \"\""
time="2015-11-17T03:20:58.898818084Z" level=debug msg="Registry standalone header: ''"
time="2015-11-17T03:20:58.898836197Z" level=debug msg="PingResult.Standalone: true"
time="2015-11-17T03:20:58.898853685Z" level=debug msg="attempting …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Docker运行ELK堆栈.我发现docker-elk已经为我设置了配置,使用docker-compose.
我想将elasticsearch数据存储在主机而不是容器上.根据docker-elk的自述文件,我在volumes以下elasticsearch部分添加了一行docker-compose.yml:
elasticsearch:
image: elasticsearch:latest
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9200"
- "9300"
volumes:
- ../../env/elasticsearch:/usr/share/elasticsearch/data
Run Code Online (Sandbox Code Playgroud)
但是,当我跑步时,docker-compose up我得到:
$ docker-compose up
Starting dev_elasticsearch_1
Starting dev_logstash_1
Starting dev_kibana_1
Attaching to dev_elasticsearch_1, dev_logstash_1, dev_kibana_1
kibana_1 | Stalling for Elasticsearch
elasticsearch_1 | [2016-03-09 00:23:35,193][WARN ][bootstrap ] unable to install syscall filter: seccomp unavailable: your kernel is buggy and you should upgrade
elasticsearch_1 | Exception in thread "main" java.lang.IllegalStateException: Unable to access …Run Code Online (Sandbox Code Playgroud) 免责声明/编辑2
几年后,对于每个人都在阅读这个问题 - 如果你在Windows上并希望将docker与linux容器一起使用,我强烈建议不要使用docker for windows,而是在VM中完全启动整个docker环境.这个Ext3 NTFS问题将在许多不同的层面打破你的脖子,安装docker-machine可能甚至不值得努力.
编辑:
我正在使用docker-machine它在Virtualbox VM中启动一个boot2docker实例,在/ c/Users上有一个共享文件夹,您可以从中将卷装入容器.所述卷的权限是问题所在的权限.VM存储在/c/Users/tom/.docker/下
我选择docker-machine在Hyper-V 上使用Virtualbox工作流程,因为我在日常工作流程中需要VBox,并且由于不同的Hypervisor之间不兼容而无法在一个系统上运行Hyper-V和Virtualbox.
原始问题
我目前正在尝试在Windows上的容器中设置PHPMyAdmin,但我无法更改config.inc.php文件的权限.
我发现:无法在Docker容器(Docker for Windows)中调用chown,并认为这可能有些相关,但它似乎只适用于MongoDB.
这是我的docker-compose.yml
version: "3"
services:
pma:
image: (secrect company registry)/phpmyadmin
ports:
- 9090:80
volumes:
- /c/Users/tom/projects/myproject/data/var/www/public/config.inc.php:/var/www/public/config.inc.php
Run Code Online (Sandbox Code Playgroud)
现在,当我docker exec -it [container] bash在安装目录的变化,我尝试运行chmod的config.inc.php,但是由于某些原因,它不能默默.
root@22a4bag43245: ls -la config.inc.php
-rw------- 1 root root 0 Aug 11 15:11 config.inc.php
root@22a4bag43245: chmod 655 config.inc.php
root@22a4bag43245: ls -la config.inc.php
-rw------- 1 root root 0 …Run Code Online (Sandbox Code Playgroud) docker docker-compose docker-machine docker-toolbox docker-for-windows
我正在Windows 10上的VirtualBox上运行Docker Toolbox.
我有一个恼人的问题,如果我docker exec -it mycontainer sh进入一个容器 - 检查的东西,shell会突然退出到主机shell,而我正在键入命令.一些实验表明,当我同时按下两个字母时(触摸打字时常见)导致退出.
容器仍将运行.
有什么想法是什么?
更多细节
这是我在里面运行的最小的docker图像.本质上,我正在尝试通过kops将kubernetes集群部署到AWS,但由于我在Windows上,我必须使用容器来运行kops命令.
FROM alpine:3.5
#install aws-cli
RUN apk add --no-cache \
bind-tools\
python \
python-dev \
py-pip \
curl
RUN pip install awscli
#install kubectl
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
RUN chmod +x ./kubectl
RUN mv ./kubectl /usr/local/bin/kubectl
#install kops
RUN curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
RUN chmod +x kops-linux-amd64
RUN mv kops-linux-amd64 /usr/local/bin/kops
Run Code Online (Sandbox Code Playgroud)
我建立这个图像:
docker …Run Code Online (Sandbox Code Playgroud) docker ×10
docker-toolbox ×10
boot2docker ×2
asp.net-core ×1
java ×1
macos ×1
maven ×1
shell ×1
spotify ×1
windows ×1