Questions tagged «docker»

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

12
无法登录Docker帐户
OS: Ubuntu 18.04 Server Docker 18.3 CE 我使用PuTTY SSH会话从Windows 10笔记本电脑登录到服务器。 我的本地Windows笔记本电脑上没有Docker,因此所有工作都在远程服务器上完成。 我可以使用终端会话在远程服务器上执行所有Docker命令。 但是,当我尝试将映像保存到Docker集线器时,尝试登录时,请使用: docker login 我收到以下错误消息: error getting credentials - err: exit status 1, out: `GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files` 在远程服务器上创建映像时,没有收到任何错误消息。 我也没有在远程服务器的相关主目录中看到.docker文件夹。有任何想法吗?
109 docker 

2
Docker:安装apt-utils时遇到问题
我尝试apt-utils在Docker上安装,因为当我刚做的时候apt-get update,出现了错误:debconf: delaying package configuration, since apt-utils is not installed。因此,我添加了一行要安装apt-utils(以及curl): RUN apt-get update && apt-get install -y apt-utils && apt-get install -y curl 但是,我仍然遇到该错误,使我相信我的命令无效。下面是我尝试构建图像时的输出。 Step 5/12 : RUN apt-get update && apt-get install -y apt-utils && apt-get install -y curl ---> Running in 6e6565ff01bd Get:1 http://security.debian.org jessie/updates InRelease [94.4 kB] …
109 docker  apt 

12
清理docker / overlay2 /是否安全?
我在AWS EC2上运行了一些Docker容器,/ var / lib / docker / overlay2文件夹的磁盘大小增长非常快。 我想知道删除其内容是否安全?或者docker是否具有某种命令来释放某些磁盘使用量。 更新: 我实际上docker system prune -a已经尝试过了,它回收了0Kb。 而且我的/ docker / overlay2磁盘大小比来自的输出大得多 docker system df 阅读docker文档和BMitch的答案后,我相信触摸此文件夹是一个愚蠢的主意,我将尝试其他方法来回收我的磁盘空间。

7
如何增加Mac的docker-machine内存
我是Docker的新手,并尝试通过本教程从Docker映像设置MemSQL- http: //docs.memsql.com/4.0/setup/docker/ 。我在Mac上,该教程使用的boot2docker似乎已被弃用。 VM需要4GB内存才能运行。本教程指定了如何执行此操作,boot2docker但我找不到使用docker-machine / docker工具箱执行此操作的方法。 这是我正在使用的命令,也是我在尝试通过本教程而不更改boot2docker配置时遇到的错误。 docker run --rm --net=host memsql/quickstart check-system Error: MemSQL requires at least 4 GB of memory to run.


5
在Docker中部署最小化Flask应用-服务器连接问题
我有一个唯一依赖的应用程序是flask,它可以在docker外部正常运行并绑定到默认端口5000。这是完整的源代码: from flask import Flask app = Flask(__name__) app.debug = True @app.route('/') def main(): return 'hi' if __name__ == '__main__': app.run() 问题是,当我在docker中部署此服务器时,服务器正在运行,但无法从容器外部访问。 以下是我的Dockerfile。该图像是装有烧瓶的ubuntu。焦油仅包含index.py上面列出的内容; # Dockerfile FROM dreen/flask MAINTAINER dreen WORKDIR /srv # Get source RUN mkdir -p /srv COPY perfektimprezy.tar.gz /srv/perfektimprezy.tar.gz RUN tar x -f perfektimprezy.tar.gz RUN rm perfektimprezy.tar.gz # …

9
Docker:容器继续重新启动
今天,我使用appcontainers / mediawiki docker映像部署了MediaWiki实例,现在遇到了一个新问题,无法找到任何线索。在尝试使用以下方式附加到mediawiki前端容器后: docker attach mediawiki_web_1 Terminated出于我忽略的原因,它在我的配置上做出回答,还尝试: docker exec -it mediawiki_web_1 bash 我确实收到错误消息附近的内容: Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running 这是我的新问题,因为此容器永不停止重新启动。我可以看到使用docker ps -a总是返回STATUS的状态Restarting (127) x seconds ago。 问题是,我能够停止容器(我测试过),但是再次启动它似乎使它回到了重新启动的循环中。 知道这里可能是什么问题吗?直到我尝试附加它为止,整个过程都正常工作了。 我很伤心 :-(
108 docker 

11
查找每个Docker映像的层和层大小
出于研究目的,我正在尝试爬网公共Docker注册中心(https://registry.hub.docker.com/)并找出1)平均映像有多少层,以及2)这些层的大小以获得一个分配的想法。 但是我研究了API和公共库以及github上的详细信息,但找不到任何方法可以: 检索所有公共存储库/图像(即使这些存储库/图像是数千个,我仍然需要一个起始列表来进行迭代) 找到图像的所有层 查找图层的大小(不是图像,而是单个图层)。 谁能帮助我找到一种检索此信息的方法? 谢谢! 编辑:有谁能够验证在Docker注册表中搜索“ *”是否返回所有存储库,而不仅仅是返回任何提到“ *”的内容?https://registry.hub.docker.com/search?q=*

2
什么是docker run -it标志?
我当时在用docker做一些复杂的事情,但事实证明我不知道-it标志的含义。最近,我遇到了一些docker run命令示例,这使我有些困惑。 docker run -itd ubuntu:xenial /bin/bash 我的问题是-it,如果在实例化过程中运行容器,在这里写标志有什么意义bin/bash 在文档中,我们有一个例子 docker run --name test -it debian 有解释 -it指示Docker分配一个与容器的stdin连接的伪TTY;在容器中创建一个交互式bash shell。 帮助页面中-t标志的说明和解释 -t,--tty分配伪TTY 如果我在删除-it标志 docker run -d ubuntu:xenial /bin/bash 我新创建的容器寿命不长 在 docker ps -a 它被指定为退出 抱歉,如果我的问题很愚蠢,我在Internet上找不到解释(对此我有很大的误解)。
108 docker  dockerfile 

4
码头工人:坐骑被拒绝。路径…不是从OS X共享的,也不为Docker所知
该命令docker run -v /var/folders/zz/...产生以下错误。 docker: Error response from daemon: Mounts denied: The paths /var/folders/zz/... and /var/folders/zz/... are not shared from OS X and are not known to Docker. You can configure shared paths from Docker -> Preferences... -> File Sharing. 当我打开文件共享时,我看到/ private已经列出。 如果我尝试添加/var/folder/,它将解析为/private/var/folders,这是/ private的子集,因此添加被拒绝。 总而言之,在我看来,该目录/var/folders/..由OS X共享为的子目录,/private因此Docker必须知道。解决任何帮助,将不胜感激。 作为实验,我将/privateFile Sharing中的替换为,/private/var/folders然后重新启动了docker,但结果没有改变。 为了提供更完整的参考,这是.sh脚本,该脚本运行此python脚本,该脚本又运行docker命令。

5
E:似乎未安装gnupg,gnupg2和gnupg1,但是此操作需要其中之一
我已经在Windows 10专业版上安装了docker。我在git-bash中运行以下命令时遇到问题。 docker-compose up -d --build 并出现以下错误。 E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation (23) Failed writing body Error executing command, exiting ERROR: Service 'web' failed to build: The command '/bin/sh -c curl -sL https://deb.nodesource.com/setup_8.x | bash' …

5
将不安全的注册表添加到Docker
我有一个在CentOS上运行的docker 1.12。我正在尝试向其中添加不安全的注册表,并且文档中提到的内容无法正常工作。系统使用了,systemd所以我创建了一个/etc/systemd/system/docker.service.d/50-insecure-registry.conf文件。 $ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf [Service] Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"' 加载守护程序并重新启动docker服务后,systemd显示环境变量在那里 $ sudo systemctl show docker | grep Env Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000" 但是当我运行时,我docker info看不到添加了不安全的注册表 $ docker info ........ Registry: https://index.docker.io/v1/ WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled Insecure Registries: 127.0.0.0/8 将图片推送hostaneme.cloudapp.net失败 Pushing application (hostname.cloudapp.net:5000/application:latest)... The push refers to a repository [hostname.cloudapp.net:5000/mozart_application] ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: …

3
Docker Compose-在多个容器之间共享命名卷
我正在使用docker-compose和v3。我正在尝试在Docker中挂载卷: ./appdata:/appdata 我想将此作为卷,然后从多个容器中引用该卷。的卷配置参考仅示出了data-volume:作为命名体积,用没有值,因此它不会像以上。 services: nginx: build: ./nginx/ ports: - 80:80 links: - php volumes: - app-volume php: build: ./php/ expose: - 9000 volumes: - app-volume volumes: app-volume: ./appdata:/appdata 这给了我: 错误:在文件“ ./docker-compose.yml”中,卷“ app-volume”必须是映射而不是字符串。 显然,我知道我需要更改volumes键/值对,但是我不确定如何更改它,以便可以在服务之间共享卷。 我也已经签出,volumes_from但这实际上只允许从其他容器继承。我见过有人volumes_from在另一个容器上使用该容器,该容器包含他们想要的映射,但已command: true设置该容器,以使该容器永远不会真正运行,在我看来,这就像是黑客。 我怎样才能做到这一点? 注意,我确实有以下工作: nginx: volumes: - ./appdata:/appdata php: volumes: - ./appdata:/appdata 但这只是重复,我希望命名卷可以帮助我避免:-)

2
Docker,将卷挂载为只读
我正在使用Docker,并且我想安装一个动态文件夹,该文件夹会发生很大变化(因此我不必为每次执行都制作一个Docker映像,这会太昂贵),但是我希望该文件夹为只读。将文件夹所有者更改为其他人可行。但是,chown需要root访问权限,而我不希望将其公开给应用程序。 当我使用-vflag进行挂载时,它将提供我提供的任何用户名,我在docker映像内创建了一个非root用户,但是,该卷中的所有文件都以运行docker的用户作为所有者,更改为我从命令行给,所以我不能制作只读文件和文件夹。我该如何预防? 我还添加了mustafa ALL=(docker) NOPASSWD: /usr/bin/docker,因此我可以通过终端更改为另一个用户,但是文件仍然具有我的用户的权限。
106 readonly  docker 

2
Dockerfile中VOLUME的作用是什么
我试图加深对Docker容量的理解,并且很难弄清以下内容的差异/用例: 该docker volume create命令 的 docker run -v /path:/host_path 文件中的VOLUME条目Dockerfile 我特别不明白如果将VOLUME条目与-v标志结合在一起会发生什么。
106 docker  volume 

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.