Tag:

Docker容器比wlan0更喜欢主机eth0的互联网

如何启动Docker容器,以便在两者都可用时使用主机的eth0而不是wlan? 我希望容器在办公室直接使用我的有线连接来访问networking资源,而不受主机的networking设置的影响,这些设置允许我通过WiFi访问互联网。 主机是Ubuntu 14.04,容器是Ubuntu 14.04。

图片中的Docker服务不启动

我是docker工人。 我准备了一个docker的形象。 对此,我已经以root用户身份安装了应用程序。 启动时,根.bashrc包含一些要执行的行。 在准备图像的机器上,一切正在运行。 我把图像保存为一个tar命令,docker保存为一个tar文件。 使用tar文件,我加载了另一台机器上的图像。 使用docker,当我使用命令docker run启动镜像时,它不会执行root .bashrc。 当我手动执行它使用源.bashrc它执行,但有服务失败。 任何想法为什么发生这种情况? 因为我一直在想,当你有图像的时候,你将图像加载到一个容器中,预计它在任何地方都能运行。

Docker卷,更改文件权限/所有者

我在docker集装箱的铁轨上运行ruby。 如果我生成的东西像docker-compose run rails rails g controller posts index show ,文件的所有者是根。 之后,我必须经常运行chown -R . $USER chown -R . $USER ,这很烦人。 有没有人知道我可以如何解决这个问题,以便每个生成的文件的所有者是主机用户?

docker-registry v2.2.0 S3configuration没有被覆盖

我有一个问题,试图启动与S3后端dockerregistry服务。 它的表演很奇怪。 如果我这样启动: docker run -d -e SETTINGS_FLAVOR=s3 -e AWS_BUCKET=sotic-docker-registry -e STORAGE_PATH=/registry -e AWS_REGION=eu-west-1 -e AWS_KEY=***** -e AWS_SECRET=***** -e STORAGE_REDIRECT=true -e SEARCH_BACKEND=sqlalchemy -p 5000:5000 registry:2.2.0 正如在这里的其他主题所build议的,我没有得到一个重写的configuration文件。 在容器上运行docker exec并查看/etc/docker/registry/config.yml似乎表明我仍在使用本地存储。 root@5727b353e734:/# vi /etc/docker/registry/config.yml version: 0.1 log: fields: service: registry storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] health: storagedriver: enabled: true interval: […]

docker集装箱港口映射问题

我想我错过了一些明显的东西,但我似乎无法破解这一个。 我正试图从一个docker容器中运行uwsgi的django应用程序将端口映射到我的本地Macintosh主机。 这是设置。 Mac 10.11使用virtualbox 5.0.10和docker 1.9.1运行docker-machine 0.5.1 我创build了一个服务器与docker机安装我的docker文件,并成功地build立了我的docker集装箱。 在容器中我有以下命令 # Port to expose EXPOSE 8000 映射到通过容器内的uwsgi使用的端口。 当我把他的容器通过 eval "$(docker-machine env dev)" docker-machine ip dev 192.168.99.100 docker run -P launch 容器启动正确。 如果我进入容器并执行一个 curl http://localhost:8000 我得到我所期望的HTML。 在docker检查container_id的外部给我一个 "Ports": { "8000/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "32768" } ] }, 所以我可以看到在192.168.99.100docker机主机上的映射到32768,从上述命令。 然而每当我尝试和curlhttp://192.168.99.100:32768 curl http://192.168.99.100:32768 curl: (7) Failed […]

docker工人需要什么图像

我只是想知道,为什么在Docker中必须有图像。 所有在图像顶部创build的容器只能看到图像包含的文件系统。 为什么不能在主机操作系统之上创build读写层?

如何将静态IP地址设置为通过交织networking进入Swarm的容器?

TL; DR:存在于Swarm 1.0.0 bug,在Swarm 1.1.0解决。 在四个群集代理群集上,使用编织插件运行自定义覆盖networking: user@swarm-master:~$swarm-docker network create –driver weave –subnet 192.168.0.0/16 custom-weave 但是,通过这个命令及其输出,我们可以看到一个问题: user@swarm-master:~$ swarm-docker run –rm -it –net=custom-weave –ip=192.168.0.5 debian:jessie bash -c "ip addr show" 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default [ . . ] 74: ethwe0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1410 qdisc noqueue state UP group default link/ether […]

没有在Docker&PHP-FPM中findPHP date.timezone

我正在用Docker和Docker-compose创build一个Symfony环境(PHP-FPM,Nginx等)。 但是,PHP不使用我的php.ini,并忽略了configuration(在我的Symfony应用程序中没有finddate.timezone参数)。 当然,当我在我的容器上,date.timezone正确设置在2 php.ini(cli&FPM)。 我不明白为什么,但如果我把我的php.ini放在/ usr / local / etc / php / folder(wtf) 我错过了什么? docker-compose.yml: nginx: image: nginx volumes: – "./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" links: – "php:php" ports: – "80:80" – "443:443" working_dir: "/etc/nginx" php: build: docker/php volumes: – ".:/var/www:rw" working_dir: "/var/www" Dockerfile: FROM php:5-fpm ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && \ apt-get install -y php5-common […]

如何使fail2ban读取json docker日志

是否可以configuration我的fail2ban jail.conf来检查docker日志而不是挂载主机上的日志。 例如将日志path设置为容器日志的path。 Jail.conf: … #example [nginx-http-auth] enabled = true filter = nginx-http-auth port = http,https logpath = /var/lib/docker/containers/819564257d4*/*e0923e-json.log … 但这并没有太大的作用,因为docker logs命令和日志文件之间有一点区别: # docker logs @nginx_container_name 2016/03/23 12:39:52 [error] 6#6:* 350上游过早closures连接,同时读取来自上游的响应头,客户端: @ ATTACKER_IP ,服务器: @MY_DNS ,请求:“GET / Blog / wp-login .php HTTP / 1.1“,上游:” http://172.17.0.3:8001/Blog/wp-login.php “,主机:” @MY_IP:80“ @ATTACKER_IP – – [23 / Mar / 2016:12: […]

使用通用驱动程序将docker-machine连接到Azure

我有一个基于Docker的Azure部署。 我知道docker-machine有一个Azure驱动程序,可以创build虚拟机并生成证书等。但是我宁愿使用Azure工具(CLI和门户)。 所以我创build了一个VM,并在其上安装了我的公共SSH密钥。 现在我想用docker-machine连接到它。 我添加服务器,以便我可以在docker-machine ls看到它: NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default – virtualbox Stopped Unknown serv – generic Running tcp://XX.XX.XX.XX:2376 Unknown Unable to query docker version: Unable to read TLS config: open /Users/user/.docker/machine/machines/serv/server.pem: no such file or directory 当我尝试设置环境variables时,我看到: $ docker-machine env serv Error checking TLS connection: Error checking and/or regenerating […]