Tag: docker

将音量挂载到OSX上的Docker镜像

在Mac上,如何将一个卷装载到Docker容器? 在我的Linux机器上,这很容易。 当运行容器时,我需要做的就是-v /src/webapp:/opt/webapp 。 但是Mac不同,因为我必须运行boot2docker才能在VirtualBox中运行虚拟机。 我试过跑步 boot2docker init boot2docker up boot2docker ssh # to poke around boot2docker stop VBoxManage sharedfolder add "boot2docker-vm" –name "Users" –hostpath /Users boot2docker up boot2docker ssh "sudo modprobe vboxsf" 但是我明白了 modprobe: module vboxsf not found in modules.dep 如果我忽略这一点,仍然尝试像这样挂载在虚拟机上 boot2docker ssh "sudo mkdir /test && sudo mount -t vboxsf Users /test" […]

Docker更改活动容器上已发布的端口

例如,我想更改活动容器上发布的端口 docker run -p 80:80 –name nginx_live nginx 然后稍后将其更改为另一个端口,例如-p 8080:80

docker-compose:定义用于绑定挂载和pipe理挂载的挂载

我使用docker-compose来定义我的服务。 在docker工人中,有两个docker工人的概念。 首先是关于bind mount :挂载在主机存储。 docker run -d –name web-app -v $HOST/location:/container/location -p 80:80 httpd:latest 其次是managed mount :抽象存储,不依赖于主机。 docker run -d –name web-app -v /container/location -p 80:80 httpd:latest 我想将这些概念映射到docker-compose。 这意味着如何在使用docker-compose时定义bind mount和managed mount 。

在Docker中链接容器

Docker允许你通过名字链接容器 。 我有两个问题: 假设A (客户端)连接到B (服务),并且B的端口是dynamic暴露的(即,实际的主机端口由Docker决定,而不是由用户给出)。 如果B停机并重新启动,会发生什么情况? Docker是否更新A上的环境variables? Docker是否将相同的端口重新分配给B ? B链接是否被破坏? …? 除此之外,很显然,如果两个容器都在同一台主机上运行,​​这个工作正常。 链接容器是否也跨机器边界工作?

如何在启动时启动Docker容器,使用Ansible(Tower)

目前,我们使用Ansible + Ansible Tower的组合在Docker容器中部署和运行我们的应用程序。 但是,我想知道如何在系统重启后自动运行已部署的容器。 怎么走这里? 我们提出的唯一解决scheme是在启动时自动请求应用程序部署工具书的TowercallbackURL,但这似乎并不理想。

为什么Docker官方图片不能按照“最佳实践”的要求使用USER

Postgres,mariadb,mysql不要使用USER。 据说正式的图像审查遵守的最佳做法文件,这需要在可能的用户。 为什么?

docker图像名称是如何分析的?

在执行Docker docker push或拉取图像时,Docker如何确定映像名称中是否存在registry服务器,或者如果它是默认registry(例如Docker Hub)上的path/用户名? 我从1.1映像规格中看到以下内容: 标签 标签用于将描述性的用户给定名称映射到任何单个图像ID。 标签值限于字符集[a-zA-Z_0-9]。 知识库 在一个公共前缀下分组的标签集合(之前的名称组件:)。 例如,在名为my-app:3.1.4的图像中,my-app是名称的Repository组件。 存储库名称由斜杠分隔的名称组件组成,可以select以DNS主机名作为前缀。 主机名必须遵守标准DNS规则,但不能包含_字符。 如果存在主机名,则可以select使用8080格式的端口号。 名称组件可能包含小写字符,数字和分隔符。 分隔符被定义为句点,一个或两个下划线或一个或多个破折号。 名称组件不能以分隔符开始或结束。 对于DNS主机名,它是否需要用点来完全限定,或者是“my-local-server”是一个有效的registry主机名? 对于名称组件,我看到有效期,这意味着“team.user / appserver”是一个有效的图像名称。 如果registry服务器在端口80上运行,并且因此图像名称中的主机名不需要端口号,则主机名与registry服务器上的path之间似乎会有歧义。 我很好奇Docker如何解决这个模糊问题。

docker-compose为一个纯数据容器和web服务器postgresql

我正在使用docker-compose.yml文件为我的django nginx postgresql和纯数据容器构build3个docker容器。 这是我的docker-compose.yml data: # pure data container image: busybox volumes: – /etc/postgresql – /var/log/postgresql:/var/log/postgresql – /var/lib/postgresql – /var/log/nginx:/var/log/nginx – /var/log/supervisor:/var/log/supervisor db: image: postgres volumes_from: – data web: build: . ports: – "80:80" – "443:443" links: – db volumes_from: – data $docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc26b3a72a02 myweb_web:latest […]

使用Docker进行Web开发的正确工作stream程

我今天开始学习Docker ,我已经能够在几个小时后基于ubuntu:14.04创build我的第一个自定义图像,通过试验Dockerfile构build和修改现有的图像并使用commit保存命令。 我的Dockerfile是以下内容: FROM ubuntu:14.04 MAINTAINER Davide Zanotti <***@gmail.com> ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y \ software-properties-common \ build-essential \ automake \ checkinstall \ git \ && add-apt-repository -y ppa:fkrull/deadsnakes && apt-get update && apt-get install -y python3.5 \ && cd /usr/bin && ln -s python3.5 python \ && apt-get clean […]

docker上的WordPress – 撰写不运行

这是我的docker-compose.yml version: '2' services: wordpress: image: wordpress ports: – "8080:80" environment: WORDPRESS_DB_PASSWORD: example db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example 服务正常运行,但几秒钟后,wordpress容器停止。 这是我的docker日志wordpress容器: WordPress not found in /var/www/html – copying now… Complete! WordPress has been successfully copied to /var/www/html MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: Name or service not known Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name […]