Tag: docker为Windows

Dockerfilestring插值行为

我目前正在使用docker for windows,并试图找出如何在我的dockerfile的部分内进行string插值。 例如,下面是一个相当复杂的dockerfile,它似乎在整个商店中embedded了ARG和ENVvariables: https://github.com/Microsoft/docker/blob/master/Dockerfile 所以如果你看第40行 # allow replacing httpredir mirror ARG APT_MIRROR=httpredir.debian.org RUN sed -is/httpredir.debian.org/$APT_MIRROR/g /etc/apt/sources.list 甚至是第106行 # Configure the container for OSX cross compilation ENV OSX_SDK MacOSX10.11.sdk ENV OSX_CROSS_COMMIT 8aa9b71a394905e6c5f4b59e2b97b87a004658a4 RUN set -x \ && export OSXCROSS_PATH="/osxcross" \ && git clone https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \ && ( cd $OSXCROSS_PATH && git checkout -q $OSX_CROSS_COMMIT) […]

如何使用dockerfile将parameter passing给.net核心项目

我有一个.NET Core项目(使用Visual Studio,并通过Visual Studio Tools for Docker添加了docker文件)。 我的DockerFile看起来像这样: FROM microsoft/dotnet:1.0.1-core ARG source=. WORKDIR /app COPY $source . ENTRYPOINT ["dotnet", "MyApp.dll"] CMD ["arg1", "arg2"] 我的问题是,如何将parameter passing到项目中? public static void Main(string[] args) { // how does `args` get populated? }

一个脚本如何区分Docker Toolbox和Docker for Windows?

在我目前的团队中,我们仍在从Docker Toolbox转换到Docker for Windows。 我们的许多脚本仍然假定你正在VirtualBox上运行Docker Toolbox(比如如何装载驱动器,如何使用斜杠或驱动器名称)。 有一个可靠的方法来告诉脚本内部, docker是来自Docker Toolbox还是Docker for Windows?

在窗口上连接ssh到docker守护进程

我使用https://docs.docker.com/docker-for-windows/install/#install-docker-for-windows在Windows 10上安装了Docker。 它不使用VirtualBox和默认VM来托pipeDocker。 我能运行容器,但我怎么连接到docker与SSH? docker-machine ls不显示我的docker主机。 试图连接到docker@10.0.75.1,但它需要密码。 和用于boot2docker VM的tcuser不匹配 ssh docker@10.0.75.1 Could not create directory '/home/stan/.ssh'. The authenticity of host '10.0.75.1 (10.0.75.1)' can't be established. RSA key fingerprint is …. Are you sure you want to continue connecting (yes/no)? yes Failed to add the host to the list of known hosts (/home/stan/.ssh/known_hosts). docker@10.0.75.1's password: Write […]

Docker for Windows 10如何访问主机

我使用Docker for Windows 10进行开发。 在Windows 8上使用Docker Toolbox之前,我习惯于在这种情况下“调整”主机虚拟机MobyLinuxVM 。 当我尝试在hyper-vpipe理器中connect ,出现cannot connect错误。 当我尝试docker-machine ls我没有docker机。 我怎么可能访问docker上的Windows 10的底层机器? 我想解决的问题是(也就是为什么我想连接): Ubuntu apt-get不适合我(我在代理后面)得到像E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/universe/source/Sources Cannot initiate the connection to 3128:80 (0.0.12.56). – connect (22: Invalid argument)错误E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/universe/source/Sources Cannot initiate the connection to 3128:80 (0.0.12.56). – connect (22: Invalid argument) E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/universe/source/Sources […]

在Windows中使主机名下的docker机器可用

我正在尝试通过主机名使我的Windows可用的docker计算机。 创build后就像 docker-machine create -d virtualbox mymachine 并设置一个公开端口80的docker容器,我怎么能给这个docker机一个主机名,这样我就可以在浏览器中input“ http:// mymachine / ”来加载这个网站? 当我将“mymachine”更改为实际的IP地址时,它就起作用了。 有一个这个问题的答案 ,但我想实现它没有在hosts文件中的条目。 那可能吗?

Docker的Visual Studio工具 – PrepareForCompile任务意外失败

完整的IIS,Hyper-V,VS2015企业版,.NET Core 1.0.1工具预览版2,Docker for Windows,Visual Studio Docker(已安装Windows 10 Enterprise)工具,和其他一些随机程序。 然后我打开VS2015,创build一个默认的.NET核心网站。 当我运行(F5)所有预期的作品。 然后,我右键单击该项目,并进入“添加 – > Docker支持”。 现在,当试图运行(F5)使用Docker我看到这个错误消息: MSB4018 The "PrepareForCompile" task failed unexpectedly. Microsoft.DotNet.Docker.CommandlineClientException: Error response from daemon: Container … is not running at … 我已经在网上search,唯一可以find的可以解释的是,我不认为共享驱动器正在工作。 我确实在Docker-> Shared Drives中设置了它,但是当我运行时: docker run –rm -vc:/Users:/data alpine ls /data响应是空的。 同样,当我尝试使用忙框,目录是空的。 docker run -it -v /C/Users:/wormhole busybox cd wormhole ls […]

无法在Docker容器内调用chown(Docker for Windows)

我正在尝试使用官方的Mongo dockerfile启动数据库,我使用-v命令将本地目录映射到容器内的/ data。 作为dockerfile的一部分,它试图将这个目录chown给用户mongodb: RUN mkdir -p /data/db /data/configdb \ && chown -R mongodb:mongodb /data/db /data/configdb VOLUME /data/db /data/configdb 但是,使用以下命令会失败: chown: changing ownership of '/data/db': Permission denied 我在这里做错了什么? 我找不到任何文档 – 当然,容器应该对映射的目录拥有完全的权限,因为它已经在docker run命令中明确地传递了: docker run -d –name mongocontainer -v R:\mongodata:/data/db -p 3000:27017 mongo:latest

在Docker容器中更改已装入文件夹中的文件权限

我目前正试图在Windows上的容器中设置PHPMyAdmin,但我不能更改config.inc.php文件的权限。 我发现: 无法在Docker容器(Docker for Windows)中调用chown,并认为这可能有点相关,但似乎只适用于MongoDB。 这是我的docker-compose.yml version: "3" services: pma: image: (secrect company registry)/docker-stretchimal-apache2-php7-pma ports: – 9090:80 volumes: – /c/Users/tom/projects/myproject/data/var/www/public/config.inc.php:/var/www/public/config.inc.php 现在,当我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 Aug 11 15:11 […]

docker-machine在Windows 10上 – “您必须在本地使用scpfunction的scp二进制副本”

我正在使用命令:docker-machine scp manager:/home/docker/foo.txt。 但是,Windows PowerShell返回“您必须具有本地scp二进制副本才能使用scpfunction”。 我确定我已经安装了'docker for windows'和'docker toolbox'。 所以我该怎么做?