Questions tagged «docker»

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

9
使用Docker Compose的交互式Shell
有什么方法可以仅使用Docker Compose在容器中启动交互式shell?我已经在docker-compose.yml中尝试过类似的操作: myapp: image: alpine:latest entrypoint: /bin/sh 当我使用docker-compose up启动此容器时,它立即退出。我可以添加到entrypoint命令或myapp的附加选项作为交互式shell启动吗? 我知道有本地的docker命令选项可以实现此目的,只是想知道是否也可以仅使用Docker Compose。

17
如何删除Docker的映像?
我有以下图像: alex@alexvps:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE <none> <none> 70c0e19168cf 5 days ago 1.069 GB <none> <none> c2ce80b62174 8 days ago 399.2 MB <none> <none> 60afe4036d97 8 days ago 325.1 MB 当我尝试删除其中之一时,我得到: alex@alexvps:~$ sudo docker rmi 60afe4036d97 Error: Conflict, 60afe4036d97 wasn't deleted 2014/01/28 00:54:00 Error: …
265 docker 

15
Docker容器内的root密码
我正在使用Docker映像构建,该映像是使用USER命令构建的,以使用名为的非root用户dev。在容器内,我是“ dev”,但我想编辑该/etc/hosts文件。 所以我需要成为根。我正在尝试su命令,但要求输入root密码。 Docker容器中默认的root用户密码是什么?
264 docker 

13
如何删除所有Docker本地Docker映像
我最近开始使用Docker,但从未意识到我应该使用docker-compose down代替ctrl-c或docker-compose stop摆脱我的实验。现在,我在本地有大量不需要的Docker映像。 我是否可以运行一个标志来删除所有本地docker映像和容器? 像docker rmi --all --force--all标志这样的东西并不存在,但我正在寻找具有类似想法的东西。

10
如何继续退出的Docker容器
考虑: docker run -it centos /bin/bash 我按Ctrl+ D退出。 我想继续运行此容器,但发现不能。 唯一的方法是 docker commit `docker ps -q -l` my_image docker run -it my_image /bin/bash 我对吗?有没有更好的方法?(我正在使用docker 0.8.0。)
263 docker 

6
查看Docker中正在运行/已停止的容器的完整命令
如何查看Docker中正在运行的容器/进程的完整命令? $ docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5b6291859b61 nginx:1.7.8 "nginx -g 'daemon of 4 minutes ago Exited (0) 4 minutes ago thirsty_brattain 我只能在这里看到“ nginx -g'daemon of”,而不是完整命令。
262 docker 

9
如何分析Docker容器的磁盘使用情况
我可以看到Docker占用了12GB的文件系统: 2.7G /var/lib/docker/vfs/dir 2.7G /var/lib/docker/vfs 2.8G /var/lib/docker/devicemapper/mnt 6.3G /var/lib/docker/devicemapper/devicemapper 9.1G /var/lib/docker/devicemapper 12G /var/lib/docker 但是,我怎么知道它如何分布在容器上? 我试图通过运行附加到容器(新的v1.3命令) docker exec -it <container_name> bash 然后运行“ df -h”以分析磁盘使用情况。它似乎正在工作,但不适用于使用“ volumes-from”的容器。 例如,我为MongoDB使用了仅数据容器,称为“ mongo-data”。 当我运行docker run -it --volumes-from mongo-data busybox,然后df -h在容器中运行时,它表示安装在/data/db(我的“ mongo-data”仅数据容器)上的文件系统使用11.3G,但是当我这样做时du -h /data/db,它表示仅使用2.1G 。 那么,如何分析容器/卷磁盘使用情况?或者,就我而言,如何找出“ mongo-data”容器的大小?

11
如何在Docker容器中使用sudo?
通常,docker容器使用root用户运行。我想使用其他用户,使用docker的USER指令没问题。但是该用户应该能够在容器内使用sudo。该命令丢失。 这是用于此目的的简单Dockerfile: FROM ubuntu:12.04 RUN useradd docker && echo "docker:docker" | chpasswd RUN mkdir -p /home/docker && chown -R docker:docker /home/docker USER docker CMD /bin/bash 运行此容器,我以用户'docker'登录。当我尝试使用sudo时,找不到命令。所以我尝试使用以下方法在Dockerfile中安装sudo软件包 RUN apt-get install sudo 这导致无法找到包sudo


13
如何在卷中装载单个文件
我正在尝试将php应用程序码头化。在dockerfile中,我下载了存档,将其解压缩等。 一切正常,但是如果发布了新版本,并且我更新了dockerfile,则必须重新安装应用程序,因为config.php被覆盖了。 因此,我以为可以像将数据库一样将文件挂载为卷。 我尝试了两种方式,分别是体积和直接路径。 码头工人组成: version: '2' services: app: build: src ports: - "8080:80" depends_on: - mysql volumes: - app-conf:/var/www/html/upload - app-conf:/var/www/html/config.php environment: DB_TYPE: mysql DB_MANAGER: MysqlManager mysql: image: mysql:5.6 container_name: mysql volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: MYSQL_USER: MYSQL_PASSWORD: volumes: mysqldata: app-conf: 导致错误: 我尝试使用给定的路径(已安装的卷)进行尝试。 /src/docker/myapp/upload:/var/www/html/upload /src/docker/myapp/upload:/var/www/html/config.php …

7
docker运行<IMAGE> <MULTICOMMAND>
我正在尝试运行多个这样的命令。 docker run image cd /path/to/somewhere &amp;&amp; python a.py 但这给我“没有这样的文件或目录”错误,因为它被解释为... "docker run image cd /path/to/somewhere" &amp;&amp; "python a.py" 似乎需要一些ESCAPE字符,例如“”或()。 所以我也试过了 docker run image "cd /path/to/somewhere &amp;&amp; python a.py" docker run image (cd /path/to/somewhere &amp;&amp; python a.py) 但是这些没有用。 我已经搜索了Docker Run Reference,但没有找到有关ESCAPE字符的任何提示。

3
Dockerfile复制保持子目录结构
我正在尝试将多个文件和文件夹从本地主机复制到Docker映像构建中。 这些文件是这样的: folder1 file1 file2 folder2 file1 file2 我正在尝试像这样制作副本: COPY files/* /files/ 但是,所有文件都放在/ files /中,Docker中是否可以保留子目录结构以及将文件复制到其目录中?
254 copy  docker  dockerfile 

6
在Dockerfile中获取环境变量值
我正在为红宝石应用程序构建一个容器。我的应用程序的配置包含在环境变量中(通过dotenv加载到应用程序内部)。 这些配置变量之一是应用程序的公共IP,该IP在内部用于建立链接。我需要添加一个dnsmasq条目,将该ip指向容器内部的127.0.0.1,以便它可以获取应用程序的链接,就好像未对其进行容器化一样。 因此ENV,我试图在我的Dockerfile中设置一个将环境变量传递给容器的。 我尝试了几件事。 ENV REQUEST_DOMAIN $REQUEST_DOMAIN ENV REQUEST_DOMAIN `REQUEST_DOMAIN` 但是,所有内容都将传递“ REQUEST_DOMAIN”字符串,而不是环境变量的值。有没有一种方法可以将环境变量值从主机传递到容器?
253 docker 

13
多个docker-compose项目之间的通信
我docker-compose.yml在两个不同的文件夹中有两个单独的文件: ~/front/docker-compose.yml ~/api/docker-compose.yml 如何确保in中的容器front可以向in中的容器发送请求api? 我知道--default-gateway可以docker run为单个容器使用选项设置,以便可以为该容器分配特定的IP地址,但是使用时似乎没有此选项docker-compose。 目前,我最终做了一个,docker inspect my_api_container_id然后查看输出中的网关。它可以工作,但问题是该IP是随机分配的,因此我不能依靠它。 因此,此问题的另一种形式可能是: 我可以使用docker-compose将固定IP地址分配给特定容器吗? 但最后我要照顾的是: 两个不同的docker-compose项目如何相互通信?

9
如何使用其他命令启动已停止的Docker容器?
我想用其他命令启动一个停止的Docker容器,因为默认命令崩溃了-这意味着我无法启动该容器,然后使用'docker exec'。 基本上,我想启动一个外壳,以便可以检查容器的内容。 幸运的是,我使用-it选项创建了容器!
250 docker 

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.