Questions tagged «dockerfile»

Dockerfile是包含说明以构建Docker映像的文件

12
在docker中分离运行时,Python应用程序不显示任何内容
我有一个在我的dockerfile中启动的Python(2.7)应用程序: CMD ["python","main.py"] main.py在启动时会打印一些字符串,然后进入循环: print "App started" while True: time.sleep(1) 只要我使用-it标志启动容器,一切都会按预期进行: $ docker run --name=myapp -it myappimage > App started 我稍后可以通过日志看到相同的输出: $ docker logs myapp > App started 如果我尝试使用-d标志运行相同的容器,则该容器似乎正常启动,但看不到任何输出: $ docker run --name=myapp -d myappimage > b82db1120fee5f92c80000f30f6bdc84e068bafa32738ab7adb47e641b19b4d1 $ docker logs myapp $ (empty) 但是容器似乎仍在运行; $ docker ps Container Status ... …




1
什么是.build-deps for apk add --virtual命令?
什么是.build-deps在下面的命令?我在Alpine文档中找不到解释。这是预定义的文件吗?可以看到许多Dockerfile中都引用了这一点。 RUN apk add --no-cache --virtual .build-deps \ gcc \ freetype-dev \ musl-dev RUN pip install --no-cache-dir <packages_that_require_gcc...> \ RUN apk del .build-deps
139 docker  apk  dockerfile  alpine 

8
使用一个命令构建并运行Dockerfile
是否可以从Dockerfile构建映像并使用单个命令运行它? 有一个命令docker build可以构建Dockerfile并docker run -it运行映像。 这两个命令是否有任何组合,以使仅使用一个命令就可以更轻松地构建和运行它?
136 docker  dockerfile 

6
了解DockerFile中的“ VOLUME”指令
以下是我的“ Dockerfile”的内容 FROM node:boron # Create app directory RUN mkdir -p /usr/src/app # change working dir to /usr/src/app WORKDIR /usr/src/app VOLUME . /usr/src/app RUN npm install EXPOSE 8080 CMD ["node" , "server" ] 在此文件中,我期望“ VOLUME。/ usr / src / app”指令将当前工作目录的内容装载到主机中,该内容将被装载在容器的/ usr / src / app文件夹中。 请让我知道这是正确的方法吗?
136 docker  dockerfile 


8
Dockerfile(如果带有外部参数的其他条件)
我有dockerfile FROM centos:7 ENV foo=42 然后我建立它 docker build -t my_docker . 并运行它。 docker run -it -d my_docker 是否可以从命令行传递参数并将其与Dockerfile中的其他参数一起使用?我的意思是 FROM centos:7 if (my_arg==42) {ENV=TRUE} else: {ENV=FALSE} 并以此参数构建。 docker build -t my_docker . --my_arg=42
129 docker  dockerfile 

11
已安装Docker但未安装Docker Compose吗?为什么?
我通过运行以下命令在centos 7上安装了docker, curl -sSL https://get.docker.com/ | sh systemctl enable docker && systemctl start docker docker run hello-world 注意:helloworld正常运行,没有问题。 但是,当我尝试运行docker-compose(docker-compose.yml存在且有效)时,它仅在Centos上给我错误(Windows版本对于docker-compose文件运行良好) /usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

13
standard_init_linux.go:190:exec用户进程导致“没有这样的文件或目录”-Docker
当我在Windows 10上运行docker映像时,出现此错误: standard_init_linux.go:190: exec user process caused "no such file or directory" 我的Docker文件是: FROM openjdk:8 EXPOSE 8080 VOLUME /tmp ADD appagent.tar.gz /opt/app-agent ADD services.jar app.jar ADD run.sh /run.sh # Install compiler and perl stuff RUN apt-get update RUN apt-get install -y build-essential RUN apt-get install -y gcc-multilib RUN apt-get install …

2
ARG或ENV,在这种情况下使用哪个?
这可能是一个琐碎的问题,但阅读ARG和ENV的文档对我而言并不清楚。 我正在构建一个PHP-FPM容器,我想提供启用/禁用某些用户需求扩展的功能。 如果可以在Dockerfile中通过添加条件并在build命令上传递标志来做到这一点,那就太好了,但不支持AFAIK。 就我而言,我的个人方法是在容器启动时运行一个小的脚本,如下所示: #!/bin/sh set -e RESTART="false" # This script will be placed in /config/init/ and run when container starts. if [ "$INSTALL_XDEBUG" == "true" ]; then printf "\nInstalling Xdebug ...\n" yum install -y php71-php-pecl-xdebug RESTART="true" fi ... if [ "$RESTART" == "true" ]; then printf "\nRestarting php-fpm ...\n" …


2
/ bin / sh:apt-get:找不到
我正在尝试更改dockerFile以使用aspell。我有一个bash脚本,我想将其包装在扩展坞中 Step 4: Wrap the script in a Docker container. The sample SDK we downloaded earlier contains an example of an action wrapped in a Docker container. In particular, the sample SDK includes a Dockerfile that builds the C program in client/example.c and installs the binary as /blackbox/client/action . The …

2
多个FROM-含义
我想在github上为Linkurious项目构建一个docker映像,这需要同时运行Neo4j数据库和Node.js。 我的第一种方法是为我的映像声明一个基本映像,其中包含Neo4j。参考文档未以任何有用的方式定义“基础图像”: 基本图像:没有父图像的图像是基本图像 从中我读到,如果该图像本身没有基础图像,则可能只有基础图像。 但是什么是基本图片?这是否意味着如果我在FROM指令中声明neo4j / neo4j,那么在运行映像时,neo数据库将自动运行并在端口7474的容器中可用? 阅读Docker参考(请参阅:https : //docs.docker.com/reference/builder/#from)我看到了: FROM可以在单个Dockerfile中多次出现,以创建多个映像。只需在每个新的FROM命令之前记录一次提交输出的最后一个图像ID。 我想创建多个图像吗?似乎我想要的是拥有一个包含其他图像内容的单个图像,例如neo4j和node.js 我没有在参考手册中找到任何声明依赖项的指令。是否没有像RPM中那样的依赖关系,为了运行我的映像,调用上下文必须首先安装它需要的映像? 我很困惑...
112 docker  dockerfile 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.