我docker-compose.yml喜欢这个:
version: '3'
services:
mysql:
image: mysql
volumes:
- data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=$ROOT_PASSWORD
volumes:
data:
Run Code Online (Sandbox Code Playgroud)
我的挂载点看起来像:/var/lib/docker/volumes/some_app/_data我想从该挂载点访问数据,我不知道如何在Windows机器上执行此操作.也许我可以创建一些额外的容器,可以将数据从docker虚拟机传递到我的目录?
当我正在安装这样的文件夹时:
volumes:
- ./data:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
使用我的本地目录 - 由于权限问题我没有成功.并读到"正确的方式"正在使用docker卷.
UPD:MySQL容器就是一个例子.我想对我的代码库使用这种行为并使用docker foe本地开发.
我是ASP.NET核心的新成员。
我正在使用:ASP.NET Core 2.1 Web API,Visual Studio Community 2017 v15.8.9,Windows 10,Windows Community Edition 18.06.1-CE-WIN73的Docker
所以我用以上系统开发了Web api,然后尝试用docker运行它。
当我从Visual Studio中按F5时,我从Visual Studio中收到此弹出错误消息:
“无法安装asp.net核心开发证书工具(dev-certs)”
我试图用Google搜索它,并且还引用了下面的链接,该链接要求我们将VS更新到最新版本。我已经做到了,但是仍然出现错误:
有人可以帮忙吗?谢谢。
是否有基本microsoft/windowsservercore映像使用的默认用户/密码?
我有我的网络应用程序在我的本地机器上运行并连接到Mysql工作台,我现在正在尝试将webapp停靠.我似乎无法连接到我的本地开发机器上的数据库(我正在运行适用于Windows的Docker Desktop),有人能告诉我如何进行此操作吗?这是我到目前为止所拥有的.
`docker run -it -e "CATALINA_OPTS=-Dspring.profiles.active=dev -DPARAM1=DEV" -p 8080:8080 -p 8005:8005 -p 8009:8009 -p 3306:3306 --add-host=docker:192.168.1.7 -v C:\myapp\trunk\target\myapp.war:/usr/local/tomcat/webapps/myapp.war --name waitapp tomcat:8.0.38-jre8`
Run Code Online (Sandbox Code Playgroud)
几秒钟后,我跑了 docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a1764dd9640 tomcat:8.0.38-jre8 "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:3306->3306/tcp, 0.0.0.0:8005->8005/tcp, 0.0.0.0:8009->8009/tcp, 0.0.0.0:8080->8080/tcp waitapp
Run Code Online (Sandbox Code Playgroud)
容器似乎正在运行,但是当我尝试其余请求时,我得到404 Not not,这与使用内置tomcat服务器从spring工具套件内部运行时相同.
注意 我不想运行单独的mysql容器并通过网络链接这两个容器,我只是想尝试让我新创建的docker应用程序连接到我的本地数据库MySQL.
我刚刚开始使用docker。我已经安装了alpine用于测试Docker工作流的映像,但是在运行后
docker run alpine ls -l
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
来自守护程序的错误响应:oci运行时错误:container_linux.go:262:启动容器进程导致“ exec:\” ls-l \”:在$ PATH中找不到可执行文件”。
我已经在Windows 10中安装了适用于Windows的Docker桌面。
免责声明/编辑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上使用Docker时,您必须选择使用Windows或Linux容器,但是不能同时使用这两个容器。这是什么技术原因?这有点违反直觉,因为每个容器都有自己的隔离操作系统。
我是Docker的新手,目前正在尝试使用Angular项目创建ASP.NET Core 2.1.我在Docker for Windows上使用Linux容器,我的IDE是VS2017社区版.
目前,我收到此错误:
[1]确保已安装'npm',并且可以在其中一个PATH目录中找到.当前PATH环境变量是:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin确保可执行文件位于其中一个目录中,或者更新PATH .
我相信我需要在我的Docker实例中安装Node.js或者你调用它的任何东西,它应该通过Dockerfile.请在我的假设中指出我的错误.以及如何确保安装依赖项,无论我使用什么样的容器?我期待我未来的项目将安装在不同的平台上.
docker .net-core docker-for-windows asp.net-core-2.0 angular
我正在docker-for-windows我的私人电脑上进行设置。
当我不久前在我的办公室笔记本电脑上设置它时,我遇到了同样的问题,但它刚刚停止发生。
所以我坚持这个:
我有一个 docker-working 项目(在我的另一台计算机上),docker-compose.yml如下所示:
version: '2'
services:
web:
depends_on:
- db
build: .
env_file: ./docker-compose.env
command: bash ./run_web_local.sh
volumes:
- .:/srv/project
ports:
- 8001:8001
links:
- db
- rabbit
restart: always
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
### STAGE 1: Build ###
# We label our stage as 'builder'
FROM node:8-alpine as builder
RUN npm set progress=false && npm config set depth 0 && npm cache clean --force
# build backend
ADD package.json /tmp/package.json
ADD package-lock.json /tmp/package-lock.json
RUN cd …Run Code Online (Sandbox Code Playgroud) 我想docker for windows在Powershell中重新启动。
就像我可以在Powershell中使用一个命令来完成它一样。
我可以实施吗?
使用时Restart-Service *docker*: