Questions tagged «docker»

Docker是一个开源项目,可自动在软件容器内部署应用程序。

1
我可以直接在Dockerfile中使用AWS ECR映像吗?
在典型的dockerfile中,通常会有这行使您From ubuntu:16.04能够从docker存储库中提取映像。 现在,我建立了自己的图像存储库: 存储库URI为: 1234567890.dkr.ecr.us-west-2.amazonaws.com/mycompany 如上面的屏幕截图所示,我将图像推送到服务器。 我运行以下命令以确保我已登录到ecr > `aws ecr get-login --region us-west-2` Flag --email has been deprecated, will be removed in 1.14. Login Succeeded ECR登录完成,没有错误。然后,我尝试构建一个新映像: > docker build -t rtf-converter . -f Dockerfile-rtf-converter Sending build context to Docker daemon 790.1 MB Step 1/2 : FROM mycompany:latest repository mycompany not …

3
如果退出结果为0的情况下如何退出所有主管程序
我像这样用主管运行docker容器: Docker文件 CMD ["/run.sh"] 运行 #!/usr/bin/env bash exec supervisord -n Supervisor-serf.conf [group:job] programs=serf,producer [program:serf] command=/start-serf-agent.sh numprocs=1 autostart=true autorestart=unexpected stopasgroup=true killasgroup=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 start-self-agent.sh #!/bin/bash exec serf agent --join=serf:7946 -tag role=producer 主管服务 [program:producer] command=/start.sh numprocs=1 stopasgroup=true killasgroup=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 start.sh #!/bin/bash exec /producer --project=${NAME} 生产者停止后,我得到: producer_1 | …

4
如何通过TCP公开Docker API?
我正在使用portainer,并且无法管理远程端点。我尝试使用命令行连接到远程docker节点,但收到一条消息Cannot connect to the Docker daemon at tcp://<remote_ip>:<port>. Is the docker daemon running?。 是的,它们正在运行。我已将自己添加到docker组,并且可以通过SSH进入节点来访问docker。但是我无法远程访问任何docker节点。 我修改/etc/default为添加/取消注释DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" 我也进行了修改/etc/init.d/docker并/etc/init/docker.conf包含DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"。 我重新启动了docker服务,在此过程中多次注销并登录,但仍然无法连接到远程节点。我什至无法通过传递IP连接到本地节点。 我错过了什么?哪个文件中的什么配置通过TCP公开API? user@hostname:~$ docker -H tcp://<REMOTE_IP>:2375 info Cannot connect to the Docker daemon at tcp://<REMOTE_IP>:2375. Is the docker daemon running? user@hostname:~$ docker -H tcp://127.0.0.1:2375 …
13 docker 

3
使用不同的物理网络接口和默认网关从Docker容器进行路由
背景资料 我有一台带有两个运行Docker的网络接口的服务器。Docker和某些虚拟化工具一样,创建了一个名为的Linux桥接接口docker0。默认情况下,此接口的IP地址为172.17.42.1,所有Docker容器均以此接口作为网关与该接口通信,并在同一/16范围内分配IP地址。据我所知,所有的网络流量/从容器中经过一个NAT,因此出站似乎来自172.17.42.1,和入它被送到172.17.42.1。 我的安装程序如下所示: +------------+ / | | | +-------------+ Gateway 1 +------- | | 10.1.1.1 | / +------+-------+ +------------+ | | eth0 | / | 10.1.1.2 | | | | | | DOCKER HOST | | | | | Internet | docker0 | | | (bridge) | | | 172.17.42.1 …

1
现有的“通用”主机上的docker-machine?
我的局域网中有一台可以通过SSH访问的计算机。如何设置它以便可以使用进行通信docker-machine? 有一个用于创建用于新主机的ISO 的项目(boot2docker),例如,在使用VirtualBox,Digital Ocean等启动新实例时。运行docker-machine“节点”服务。
13 docker 

1
Docker运行时未将参数附加到映像入口点
我有一个Dockerfile与: ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"] (没有CMD) 当我运行时,uwsgi正确地抱怨: uWSGI running as root, you can use --uid/--gid/--chroot options *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 现在,我认为可以通过以下方式将参数附加到入口点docker run: $ docker run -itP uwsgi_app:0.1 --uid=docker 但是uwsgi仍然抱怨相同的错误,似乎arg尚未附加。 如果我覆盖了入口点,则会添加arg: $ docker run -itP --entrypoint bash uwsgi_app:0.1 --uid=docker bash: --uid=docker: …
13 docker 

2
计算Docker容器的带宽
我试图弄清楚如何跟踪来自Docker容器的带宽。 通常,我--uid-owner用作标记来跟踪给定用户的带宽使用情况。但是,即使当我运行所有进程时,docker容器内的用户--uid-owner也无法正常工作。--uid-owner我没有使用,而是尝试仅跟踪来自docker创建的虚拟以太网设备的所有数据包。 但是,这最终也无济于事:无论我如何尝试,都不会捕获任何数据包。 出于绝望,我试图将规则放在所有链条中,但都没有结果。 Chain PREROUTING (policy ACCEPT 3041 packets, 7849454 bytes) num pkts bytes target prot opt in out source destination 1 0 0 MARK tcp -- veth5a36 any anywhere anywhere MARK set 0x1 Chain INPUT (policy ACCEPT 273 packets, 23305 bytes) num pkts bytes target prot opt in …

1
如何在CentOS Docker容器内启用SELinux?
我试图将SELinux安装在Docker容器中,以便分发内部使用SELinux的应用程序。 默认的CentOS映像未安装SELinux: $ docker run -it centos:latest /bin/bash [root@38ae5a98273d /]# sestatus bash: sestatus: command not found 从yum安装它之后,尚未启用SELinux。 [root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted ... [root@38ae5a98273d /]# sestatus SELinux status: disabled 我发现的所有文档都说您需要发出系统重新启动才能进行安装。但是,我不知道一种模拟Docker容器内系统重启的方法。 如何在容器内安装和启用SELinux?
13 centos  docker  selinux 

2
较新的Docker客户端和较旧的Docker主机
我们在RHEL 6.6上运行的是稍旧的Docker服务器。目前我们的运营团队还没有很好的支持,因此我们无法轻松升级。现在,它从EPEL存储库运行Docker 1.3.2。如果我使用ssh可以完成概念验证所需的一切,那将有望帮助我推动管理以改善对Docker的基础架构支持。 我将其设置为侦听TCP / TLS,并且可以连接到它,但是它拒绝运行本地Docker客户端给出的命令。 $ docker version Client version: 1.4.1 Client API version: 1.16 Go version (client): go1.4 Git commit (client): 5bc2ff8 OS/Arch (client): darwin/amd64 FATA[0000] Error response from daemon: client and server don't have same version (client : 1.16, server: 1.15) 我知道连接本身有效,因为fig有效: $ cat > fig.yml test: …
12 docker 

4
是否可以使用Docker为用户分离网站?
我管理的服务器上用户拥有自己的网站,可以通过FTP访问该服务器(例如托管公司),而不是孤立LAMP堆栈进程,我想知道是否可以实现Docker并在每个网站上使用映像。 据我了解,您可以通过其端口公开Docker实例,因此,如果您在同一服务器上运行两个Docker实例,则必须公开两个不同的端口。 但是是否可以导出端口而不是服务器名称,例如: www.somewebsite.com:Docker实例1 www.otherwebsite.com:Docker实例2 www.etc.com:Docker实例... 而且,在同一服务器上。 我考虑过仅在服务器上安装Apache,这将根据服务器名称将请求重定向到专用Docker实例,但是随后我将不得不在任何Docker实例上安装Apache(再次!)和MySQL。 此外,是否有可能在性能方面(或根本没有)有趣? 谢谢您的帮助。
12 hosting  docker 

7
在docker容器(arch linux)中运行systemd
我正在尝试查看是否可以在docker容器中运行systemd(正在容器中运行arch linux)。 我使用所有功能启动docker,并在cgroups中绑定mount: docker run -it --rm --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro .. 但是,如果我尝试运行systemd二进制文件: Trying to run as user instance, but the system has not been booted with systemd. 试图找出如何正确地对systemd进行初始化的方法开始了。

3
Nginx使用“ service nginx start”挂起
我已经使用生产服务器的自定义路径编译了nginx,并且尝试使用以下方法启动/重新启动服务: service nginx start 要么 service nginx restart 它输入新行而不返回外壳: 所以问题是我无法使用service命令控制Nginx 。该服务实际上在运行,但是它不会将外壳返回给我,因此我总是必须按ctrl+ c才能将其取回。 我还必须提到,nginx在通过自己的nginx命令调用时运行得很好,并且可以使用轻松停止或重新加载nginx -s stop/reload。 使用该问题仍然存在systemctl start nginx,但systemctl stop nginx效果很好。 信息: $ lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 15.10 Release: 15.10 Codename: wily $ uname -r 4.2.0-27-generic $ nginx -V nginx version: nginx/1.9.11 built by gcc 5.2.1 20151010 (Ubuntu …

3
专门为Docker分配物理接口
我想在Docker容器中运行高性能网络测试,并且不希望桥接的开销(因此管道工程无法在AFAIK中使用)。我想像在lxc“ phys”模式下一样(除了普通的docker veth设备)分配一个从主机到docker容器的物理40GbE网络接口。这将导致物理接口对主机不可见。

2
docker swarm数据库连接被对等方重置
我正在使用docker swarm运行spring boot应用程序,并且将postgres用于数据库。当我将它们作为docker服务运行时,数据库连接始终随机地失败(如您在时间戳上所见),如日志所示: 2017-10-26T 17:14:15 .200415747Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等重置连接 2017-10-26T 17:43:36 .481718562Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等重置连接 2017-10-26T 17:43:56 .954152654Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等重置连接 2017-10-26T 17:44:17 .434171472Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等重置连接 2017-10-26T 17:49:04 .154174253Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等重置连接 我无法理解或发现原因。我将不胜感激。 编辑: 我们意识到,在测试应用程序时,它还会引发如下错误: SQLTransientConnectionException:HikariPool-1-连接不可用,请求在937517ms之后超时 谢谢。

4
Kubernetes始终会因多个TLS入口而暂时无法提供503服务
我在Amazon Web Services上通过kops设置了kubernetes集群 我有2个网站设置。一个通过SSL / TLS / https保护,另一个仅通过http保护。两者都是Wordpress网站。域已更改以保护站点身份 入口配置: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-rules spec: tls: - hosts: - site1.com secretName: site1-tls-secret - hosts: - www.site1.com secretName: site1-tls-secret rules: - host: site1.com http: paths: - path: / backend: serviceName: site1 servicePort: 80 - host: www.site1.com http: paths: - …

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.