Tag: 文件

为什么“dockerbuild设”失败的本地形象

可能我错过了一些明显的东西,但是有人可以解释一下: 当我拉和运行一个图像,例如docker pull dgraziotin/lamp && docker run -t -i -p 80:80 -p 3306:3306 –name osxlamp dgraziotin/lamp – 名称docker pull dgraziotin/lamp && docker run -t -i -p 80:80 -p 3306:3306 –name osxlamp dgraziotin/lamp – 它工作得很好 现在我想玩Dockerfile并在我的电脑上手动构build它(我可以这样做,对不对?) 所以我从Github下载源文件https://github.com/dgraziotin/osx-docker-lamp,cd到解压后的文件夹并运行docker build -t test . build设过程开始,但我看到很多奇怪的错误,如“包php5-mysql不可用”。 我用相同的结果尝试了不同的图像。 如何正确构build本地图像? UPD: Dockerfile FROM phusion/baseimage:latest MAINTAINER Daniel Graziotin <daniel@ineed.coffee> ENV REFRESHED_AT 2016-03-29 # […]

使用docker来存档一个程序

我想用docker来实现以下function: 运行一个访问某个目录的程序,然后在运行之后重置对该目录所做的所有更改。 因此,我想创build一个docker镜像,将所述目录复制到docker卷中,以便程序可以访问目录中的文件,但目录对于每次运行都具有相同的内容。 但是,这似乎增加了很多开销 – 是否有其他(更好)的方式来实现所描述的目标? PS:我想测量程序的行为,但不是出于安全原因,也就是我相信程序。

Docker Volume指向Dockerfile中的主机目录

我有以下的Dockerfile: FROM jboss/wildfly USER jboss RUN mkdir -p /opt/jboss/wildfly/standalone/log VOLUME /opt/jboss/wildfly/standalone/log CMD /bin/bash # CMD true 这个产生的图像开始与docker run -ti –name=data_volume data/volume 。 下一个Dockerfile FROM jboss/wildfly RUN sed -i 's|<file relative-to="jboss.server.log.dir" path="server.log"/>|\<file relative-to="jboss.server.log.dir" path="\${jboss.host.name}-server.log"/\>|' /opt/jboss/wildfly/standalone/configuration/standalone.xml 覆盖生成的jboss的日志logging以便在日志logging目录中logging到“servername”-server.log。 当我使用docker run -ti –name=wild-01 –volumes-from=data_volume my/wildfly启动生成的映像时, docker run -ti –name=wild-01 –volumes-from=data_volume my/wildfly和docker run -ti –name=wild-01 –volumes-from=data_volume my/wildfly docker run -ti […]

Docker – php_network_getaddresses错误,当试图连接到数据库

使用docker设置新的Laravel安装,这是docker-compose.yml文件: version: '2' services: web: image: nginx restart: always links: – "fpm" volumes: – ./build/volumes/nginx/conf.d:/etc/nginx/conf.d:ro volumes_from: – fpm ports: – 8080:80 mysql: image: mysql environment: MYSQL_ROOT_PASSWORD: "[OMMITTED]" MYSQL_DATABASE: "[OMMITTED]" MYSQL_USER: "[OMMITTED]" MYSQL_PASSWORD: "[OMMITTED]" fpm: build: context: . volumes: – .:/var/www docker-compose up -d工作正常,我可以看到http:// localhost:8080 / web服务器,但是当试图做任何types的连接到数据库,我得到一个PDO::__construct(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not […]

冲上高山linux(在docker)

我试图在(dockerized)高山linux中安装破折号。 我的Dockerfile如下: FROM alpine:latest RUN \ echo "@community http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ apk add –no-cache –update dash ENV SHELL dash CMD dash 我得到的输出: Step 1/4 : FROM alpine:latest —> 053cde6e8953 Step 2/4 : RUN echo "@community http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && apk add –no-cache –update dash —> Running in 680f3d4d7dda fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz fetch […]

从Dockerfile中将本地目录挂载为容器中的卷

我知道如何在docker run中将本地目录作为卷装入-v选项,即 docker run -v /local/some_folder:/container/some_folder image_name 不过,我希望能够指定上述指令(将/local/some_folder作为/container/some_folder some_folder挂载到Dockerfile中的容器中 。 我已经尝试在Dockerfile使用VOLUME /local/some_folder /container/some_folder Dockerfile ,但似乎没有工作:然后我可以使用docker exec -t container sh从容器内访问/container/some_folder ,但是容器写入/container/some_folder的写入更改不会反映在容器运行时和docker stop container之后的/local/some_folder中。

在Docker PowerShell映像中导入模块

我正在build立一个基于microsoft/powershell:ubuntu16.04的Docker镜像microsoft/powershell:ubuntu16.04 。 它正确的构build没有任何错误,但是当我去使用它时,它没有我在Dockerfile中声明的导入模块(这是一个从图像中克隆的GitHub仓库中的psd1文件。 我尝试了一下微软的PowerShellpipe理的简单导入(见下面),也没有导入。 我以交互方式运行镜像,一个接一个地input命令,一切都input正常,所以我不知道为什么它不能通过Dockerfile构build它自己。 FROM microsoft/powershell:ubuntu16.04 WORKDIR /workdir RUN pwsh -command "Import-Module Microsoft.PowerShell.Management" CMD [ "pwsh", "-Command", "Get-Module" ] 示例psd1文件 FROM microsoft/powershell:ubuntu16.04 RUN apt-get update && apt-get install git -y RUN git clone https://github.com/DTW-DanWard/PowerShell-Beautifier.git RUN cp -a PowerShell-Beautifier/src/. /opt/microsoft/powershell/6.0.0-rc/Modules ENTRYPOINT [ "pwsh", "-c" ] CMD [ "Get-Help", "Edit-DTWBeautifyScript" ]

什么时候会在Dockerfile中执行一个父图像的开始?

在我的Dockerfile parentimage有一个开始(ENTRYPOINT)。 而在我的Dockerfile中,我有一个入口点两个。 我现在的问题是:哪一个起始点最初是被执行的?

如何分割docker层?

我的Dockerfile看起来像 RUN echo "Downloading huge file" && \ wget http://server/huge.tar.gz && \ echo "Extracting huge file" && \ tar xzf huge.tar.gz && \ huge/install /opt/myinstall && \ rm -rf huge* 其实,我是 下载一些第三方安装包 开箱 运行安装 删除安装文件 Docker构build成功,我可以使用我的新容器。 问题在我推送到Amazon Containerregistry时开始。 推拒绝,因为最后一层是巨大的(约20G)。 20G是一个真正的安装大小,所以我可以做一些减less它。 我的问题是如何将一个图层拆分为一些较小的图层以适应Amazon图层大小限制?

当我们必须从一个正在运行的容器获取一个值并build立一个链接时,如何编写一个docker文件

试图在Docker容器中运行Magento2。 这是我现在所做的 创build了一个运行mysql的docker容器 创build了一个运行magento2的docker集装箱 现在我可以用magento2启动docker容器并build立一个到mysql容器的链接。 然后在我访问像数据库名称和其他细节的MySQL数据并运行magento命令之后 ./magento setup:config:set –db-host=172.17.0.2 –db-name=mydb –db-user=admin –db-password=password 所以我可以在Dockerfile中编写这些东西,并创build一个构build,而不是只运行容器。 什么是确切的方式来做到这一点。 是否有可能没有使用dockercomposer php。 我希望我清楚我想解释的