Questions tagged «docker»

Docker是构建和运行容器的工具。接受有关Dockerfile,操作和架构的问题。有关在生产环境中运行docker的问题可能会在ServerFault(https://serverfault.com/)上找到更好的响应。docker标签很少单独使用,通常与docker-compose和kubernetes等其他标签搭配使用。

3
谁能解释docker.sock
我试图了解docker.sock在docker-compose.yml文件中挂载的实际原因。是否用于自动发现? volumes: - /var/run/docker.sock:/var/run/docker.sock
130 docker 



6
Kubernetes如何进行部署以更新映像
我确实使用单个pod进行了部署,并使用了我的自定义docker映像,例如: containers: - name: mycontainer image: myimage:latest 在开发过程中,我想推送新的最新版本并更新Deployment。如果没有明确定义标签/版本并为每个版本增加它,就找不到方法。 kubectl set image deployment/my-deployment mycontainer=myimage:1.9.1
129 docker  kubernetes 

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 

8
Docker:在Docker容器中运行Nano
我像这样将交互式外壳打开到Docker容器中 sudo docker exec -t -i {container_name} bash 到目前为止很好,但是尝试运行会nano导致: 打开终端时出错:未知。
128 docker 

4
为Python项目构建Docker映像时如何避免重新安装软件包?
我的Dockerfile就像 FROM my/base ADD . /srv RUN pip install -r requirements.txt RUN python setup.py install ENTRYPOINT ["run_server"] 每次构建新映像时,都必须重新安装依赖项,这在我所在的地区可能非常慢。 我想到的cache已安装软件包的一种方法是my/base用新的映像覆盖该映像,如下所示: docker build -t new_image_1 . docker tag new_image_1 my/base 因此,下一次我使用此Dockerfile进行构建时,我/基础已经安装了一些软件包。 但是此解决方案有两个问题: 并非总是可以覆盖基本图像 随着新图像的分层,基础图像变得越来越大 那么,我可以使用哪种更好的解决方案来解决此问题? 编辑##: 有关我机器上的docker的一些信息: ☁ test docker version Client version: 1.1.2 Client API version: 1.13 Go version (client): go1.2.1 …
128 python  docker 

5
设置MySQL并在Dockerfile中导入转储
我正在尝试为我的LAMP项目设置一个Dockerfile,但是在启动MySQL时遇到了一些问题。我在Dockerfile上有以下几行: VOLUME ["/etc/mysql", "/var/lib/mysql"] ADD dump.sql /tmp/dump.sql RUN /usr/bin/mysqld_safe & sleep 5s RUN mysql -u root -e "CREATE DATABASE mydb" RUN mysql -u root mydb < /tmp/dump.sql 但我不断收到此错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) 关于如何在Dockerfile构建期间设置数据库创建和转储导入的任何想法?
127 mysql  docker 

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

6
Docker Machine:设备上没有剩余空间
我正在尝试使用Docker Compose设置Docker Machine。 场景1(没有Docker Machine) 如果我在docker-compose up -d没有Docker Machine的情况下运行,它会按意图创建3个链接的容器(nginx + mongodb + nodejs)。 场景2(使用Docker Machine) 然后,我使用Docker Machine创建VM,并告诉Docker与进行对话eval $(docker-machine env streambacker-dev)。 在这一点上,如果我在docker机器上SSH并运行df -h,则会得到: 如果随后运行docker-compose up -d,则在下载最后一个容器时收到“设备上没有剩余空间”错误。 之后,“ tmpfs”似乎确实有点满了: 检查--virtualbox-disk-size选项显示它的默认值为20000 MB,我认为这是我们在两张图片上都可以看到的“ / dev / sda1”。那么,为什么容器会填充“ tmpfs” n,而“ tmpfs”到底是什么呢?是一个临时下载目录吗?如何为容器创建更多空间? 谢谢! 有关信息,我正在使用Docker Machine 0.4.0-rc2和Docker Compose 1.3.2。


5
如何在Docker Compose中将主机目录挂载为卷
我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载我的更改而不必重建docker映像。我使用docker compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器 我在中定义了两个容器docker-compose.yml: node: build: ./node links: - redis ports: - "8080" env_file: - node-app.env redis: image: redis ports: - "6379" 我已经到了我node应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中? 这是我当前的Dockerfile: # Set the base image to Ubuntu FROM node:boron # File Author / Maintainer MAINTAINER Amin Shah Gilani <amin@gilani.me> # Install nodemon RUN npm install -g nodemon …

9
从Docker容器获取环境变量
从尚未在Dockerfile中声明的Docker容器获取环境变量的最简单方法是什么? 例如,通过某个docker exec container /bin/bash会话设置的环境变量? 我可以做到docker exec container env | grep ENV_VAR,但我更喜欢只返回值的东西。 我尝试使用docker exec container echo "$ENV_VAR",但是替换似乎发生在容器之外,因此我没有从容器中获取env var,而是从我自己的计算机中获取了env var。 谢谢。

11
如何在Kubernetes上保持容器运行?
我现在正在尝试在Kubernetes集群上运行带有shell(/ bin / bash)的简单容器。 我以为有一种方法可以通过使用pseudo-ttyand detach选项(命令上的-td选项docker run)来保持容器在Docker容器上运行。 例如, $ sudo docker run -td ubuntu:latest Kubernetes中有这样的选择吗? 我试过使用kubectl run-container类似以下的命令来运行容器: kubectl run-container test_container ubuntu:latest --replicas=1 但是容器会退出几秒钟(就像使用docker run上面没有提到的选项的命令启动一样)。然后ReplicationController反复再次启动它。 有没有办法像命令中的-td选项那样保持容器在Kubernetes上运行docker run?


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.