Questions tagged «docker»

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

7
将docker更新至1.12后无法拉/推图像
私有注册表在docker 1.10.3的基础上运行良好,但是在docker更新到1.12.0之后我无法拉/推映像。 我已经将/ etc / sysconfig / docker修改为: OPTIONS='--selinux-enabled=true --insecure-registry=myip:5000' 要么 OPTIONS='--selinux-enabled=true --insecure-registry myip:5000' 但是当我执行拉/推,我得到了这个错误: $ docker pull myip:5000/cadvisor Using default tag: latest Error response from daemon: Get https://myip:5000/v1/_ping: http: server gave HTTP response to HTTPS client 当我将docker改回1.10.3时,它仍然可以正常工作,如下所示: $ docker pull myip:5000/cadvisor Using default tag: latest Trying to pull repository …

3
在文件更改时重建Docker容器
为了运行ASP.NET Core应用程序,我生成了一个dockerfile,该文件构建了该应用程序,并将源代码复制到了容器中,该容器由Git使用Jenkins获取。因此,在我的工作区中,我在dockerfile中执行以下操作: WORKDIR /app COPY src src 虽然Jenkins使用Git正确更新了主机上的文件,但Docker并未将此文件应用于我的映像。 我的基本构建脚本: #!/bin/bash imageName=xx:my-image containerName=my-container docker build -t $imageName -f Dockerfile . containerRunning=$(docker inspect --format="{{ .State.Running }}" $containerName 2> /dev/null) if [ "$containerRunning" == "true" ]; then docker stop $containerName docker start $containerName else docker run -d -p 5000:5000 --name $containerName $imageName fi …

22
Docker错误:无效的引用格式:存储库名称必须为小写
使用我的一个项目遇到此Docker错误: invalid reference format: repository name must be lowercase 产生此通用消息的各种原因是什么? 经过一些努力,我已经弄清楚了,所以我将回答我自己的问题,以便在此处进行记录,因为在进行网络搜索时解决方案不会立即出现,并且因为此错误消息并未描述Docker遇到的直接问题。

5
Docker构建Dockerfile时如何缓存RUN npm安装指令
我目前正在为我的应用程序开发Node后端。在dockerizing时docker build .,最长的阶段是RUN npm install。该RUN npm install指令在每一个小的服务器代码更改上运行,这通过增加构建时间来降低生产率。 我发现在应用程序代码所在的位置运行npm install并使用ADD指令将node_modules添加到容器中可以解决此问题,但这远非最佳实践。这有点破坏了将其Docker化的整个想法,并且使容器的重量增加了很多。 还有其他解决方案吗?

12
如何在Docker机器中挂载本地卷
我正在尝试将docker-machine与docker-compose一起使用。文件docker-compose.yml的定义如下: web: build: . command: ./run_web.sh volumes: - .:/app ports: - "8000:8000" links: - db:db - rabbitmq:rabbit - redis:redis 运行时docker-compose up -d一切顺利,直到尝试执行命令并产生错误为止: 无法启动容器b58e2dfa503b696417c1c3f49e2714086d4e9999bd71915a53502cb6ef43936d:[8]系统错误:exec:“ ./run_web.sh”:stat ./run_web.sh:无此类文件或目录 本地卷未安装到远程计算机上。建议使用Webapp的代码挂载本地卷的策略是什么?

8
如何检查进程是否在Docker容器中运行
[Updated1]我有一个外壳程序,它将在某些功能中更改TCP内核参数,但是现在我需要使该外壳程序在Docker容器中运行,这意味着,该外壳程序需要知道它在容器内运行并停止配置内核。 现在我不确定如何实现,这是/proc/self/cgroup容器内部的内容: 9:hugetlb:/ 8:perf_event:/ 7:blkio:/ 6:freezer:/ 5:devices:/ 4:memory:/ 3:cpuacct:/ 2:cpu:/docker/25ef774c390558ad8c4e9a8590b6a1956231aae404d6a7aba4dde320ff569b8b 1:cpuset:/ 我可以使用上面的任何标志来确定此过程是否在容器内运行吗? [Updated2]:我还注意到确定进程是否在lxc / Docker中运行,但在这种情况下似乎不起作用/proc/1/cgroup,我容器中的内容为: 8:perf_event:/ 7:blkio:/ 6:freezer:/ 5:devices:/ 4:memory:/ 3:cpuacct:/ 2:cpu:/docker/25ef774c390558ad8c4e9a8590b6a1956231aae404d6a7aba4dde320ff569b8b 1:cpuset:/ 否/ lxc / containerid


7
使用Shell脚本在Docker容器中运行脚本
我正在尝试创建用于设置Docker容器的Shell脚本。我的脚本文件如下所示: #!bin/bash docker run -t -i -p 5902:5902 --name "mycontainer" --privileged myImage:new /bin/bash 运行此脚本文件将在新调用的bash中运行容器。 现在,我需要运行一个脚本文件(test.sh),该文件已经位于上述给定的shell脚本的容器中(例如:cd /path/to/test.sh && ./test.sh)。
85 bash  shell  docker 



13
如何等待Docker容器启动并运行?
在容器内运行服务时,假设使用mongodb命令 docker run -d myimage 将立即退出,并返回容器ID。在我的CI脚本中,我在运行mongo容器之后立即运行客户端以测试mongodb连接。问题是:由于服务尚未启动,客户端无法连接。除了sleep 10在脚本中添加大字体外,我没有看到等待容器启动并运行的任何选项。 Docker的命令wait在这种情况下不起作用,因为该容器不存在。是docker的限制吗?
84 mongodb  docker 

18
RHEL上的Docker CE-要求:container-selinux> = 2.9
我试图安装Docker CE在RHEL使用这个链接。这是我的RHEL版本: Red Hat Enterprise Linux Server release 7.3 (Maipo) 当我执行此操作时: sudo yum -y install docker-ce 我收到此错误: Error: Package: docker-ce-17.06.0.ce-1.el7.centos.x86_64 (docker-ce-stable) Requires: container-selinux >= 2.9 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 我尝试使用--skip-broken,rpm -Va --nofiles --nodigest但再次遇到相同的错误。请让我知道如何解决此问题并在RHEL 7.3中安装Docker CE。
84 docker  unix  rhel 

4
如何使用docker exec运行2个命令
我需要使用docker exec运行2个命令。我正在从Docker容器中复制文件,并且不想使用ssh之类的凭据进行处理。此命令复制文件: sudo docker exec boring_hawking tar -cv /var/log/file.log | tar -x 但是它创建了一个子目录var / log,我想避免这种情况,所以如果我可以在docker容器中做这些事情,那我会很好: cd /var/log ; tar -cv ./file.log 如何使docker exec运行2个命令?
84 docker 


6
如何在保留新行的同时在Dockerfile中编写多行命令?
我想在Dockerfile中编写以下RUN命令。但是,泊坞窗不保留新行。 RUN echo "[repo] \ name = YUM Repository \ baseurl = https://example.com/packages/ \ enabled = 1 \ gpgcheck = 0" > /etc/yum.repos.d/Repo.repoxyz 我知道\每一行的末尾都转义了新行。但是,有什么办法可以写多行来保存新行?

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.