Tag: docker

如何在一个docker容器中运行etcd之后启动一个python脚本?

我build立了一个由python2.7-alpine和etcd( https://hub.docker.com/r/elcolio/etcd/ )组成的docker文件,我试图在etcd运行之后运行一个python脚本(从相同的容器),但是我得到连接错误,因为etcd还没有结束。 有什么build议么? (我试图在上一个CMD之后创build另一个CMD,并且将exec命令放入run.sh) FROM python:2.7-alpine RUN pip install python-etcd # Create script directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY ./scripts /usr/src/app ## install etcd RUN apk add –update ca-certificates openssl tar && \ wget https://github.com/coreos/etcd/releases/download/v2.0.10/etcd-v2.0.10-linux-amd64.tar.gz && \ tar xzvf etcd-v2.0.10-linux-amd64.tar.gz && \ mv etcd-v2.0.10-linux-amd64/etcd* /bin/ && \ apk del –purge tar openssl […]

Docker Compose使用docker run开始移除容器

我有两个不同的Web项目使用同一套Docker镜像来创buildAPI响应。 开发人员可以从GitHub中克隆这些Web项目中的任意一个,然后运行npm脚本在本地开发机器上启动Web层。 Repo 1在这个repo中,web层的构build脚本使用一个脚本文件为应用程序层旋转容器(比如容器名称是APP_CONTAINER)。 应用程序层的端口是9090(例如),Web层在8080上运行。该回购站中的docker脚本检查任何正在运行的应用程序(API)容器,将其删除,从我们的内部泊坞窗中取出最新的图像,然后再次启动这些容器。 Repo 2在这个repo中,web层的构build脚本使用docker compose来拉和拉应用程序(API)容器(与APP_CONTAINER同名)。 这些容器的端口需要是相同的9090端口。 这个回购networking层运行在不同的端口,即端口3000。 我的问题是,当我在Repo 2中运行docker compose时,是否有办法删除容器APP_CONTAINER,如果它已经被第一个repo使用docker run命令创build并运行的话?

排除.dockerignore中的文件夹

我试图阻止我的Drupal composer项目中的文件和文件夹列表被包含在docker镜像中,但是作为一个意想不到的副作用,它也排除了一些在.dockerignore中没有明确定义的文件夹。 这是我正在使用的文件: # root files .gitignore .gitmodules .travis.yml .gitlab-ci.yml docker-compose.yml LICENSE phpunit.xml.dist README.md # folders .c9 .git backups/ vendor/ web/core/ web/modules/contrib/ web/profiles/ web/themes/contrib/ # web files web/.csslintrc web/.editorconfig web/.eslintrc web/.eslintignore web/.gitattributes web/.htaccess # web sites files web/sites/development.services.yml web/sites/example.settings.local.php web/sites/example.sites.php # web sites default files web/sites/default/files/ web/sites/default/default.services.yml web/sites/default/settings.local.php <all combinations of lines below, one at […]

如果使用“不重新启动”选项,Amazon EC2图像创build会中断docker文件夹

我有两台容器运行Docker的AWS Linux机器。 如果我使用“no-reboot”选项( aws ec2 create-image –no-reboot )创buildAMI,那么当我从该AMI创build机器时,Docker将会损坏,例如docker ps命令永远挂起。 我试图删除/var/run/docker并重新启动docker服务。 这没有帮助。 我试图从系统卸载docker,并安装回去,仍然没有运气。 我也正常创build了AMI,没有“不重启”,并且在这种情况下一切正常。 不重启AMI的创build如何影响这种方式呢? 我知道“无重启”选项的文档和含义,但是Docker如何破解如此核心,仍然很奇怪。 Docker version 1.12.6, build 7392c3b/1.12.6 Linux ip-10-0-1-124 4.4.10-22.54.amzn1.x86_64

在Ubuntu的16.04 Docker的PHP开发的cPanel共享托pipe与一些附加域

我一直在开发yii 2应用程序与stream浪汉的Windows。 由于我需要一个快速的加载环境,我安装了Ubuntu 16.04。 现在我需要像docker或其他的东西在Ubuntu内部有一个开发环境: 轻载 它的开发环境configuration与ubuntu本身是分开的。 (我的意思是它的configuration不会影响Ubuntu的)。 可以将我的应用程序转移到有一些附加域的cpanel共享主机上。 docker提供给我这些function特别是第三个? 我可以有不同的应用程序与不同的PHP版本和其他configuration为我的每个附加域在cpanel共享托pipe? 我怎样才能克服这些需求?

Windows Docker mongo容器无法使用卷装入

我有以下的docker命令 docker run -v //c/data:/data/db mongo 并从docker / mongo中得到以下错误响应 MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=8706cbf1b78f db version v3.4.2 git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b OpenSSL version: OpenSSL 1.0.1t 3 May 2016 allocator: tcmalloc modules: none build environment: distmod: debian81 distarch: x86_64 target_arch: x86_64 options: {} wiredtiger_open config: create,cache_size=478M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), WiredTiger error (1) [1489982988:687653][1:0x7fec9df0ccc0], connection: /data/db/WiredTiger.wt: handle-open: open: […]

更新后如何删除旧服务映像?

我在Docker Swarm周围玩耍。 我已经部署了一个服务,执行了几个更新,看看它是如何工作的。 我注意到docker工人正在保留旧的图像。 我如何清理这些? root@picday-manager:~# docker service ps picday ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS bk6pw0t8vw4r picday.1 ischyrus/picday:latest picday-manager Running Running 6 minutes ago ocbcjpnc71e6 \_ picday.1 ischyrus/picday:latest picday-manager Shutdown Shutdown 6 minutes ago lcqqhbp8d99q \_ picday.1 ischyrus/picday:latest picday-manager Shutdown Shutdown 11 minutes ago db7mco0d4uk0 picday.2 ischyrus/picday:latest picday-manager Running Running […]

无法在minishift中访问正在运行的Docker镜像(使用tomcat) – OpenShift-Origin

我编写了一个简单的Java-Spring MVC War文件的Docker镜像,(下面的Dockerconfiguration)。 我能够运行使用docker运行命令,也没有看到日志中的任何错误或麻烦上传到Openshift-minishift内部registry的战争。 我能够在我的Openshift-minishift控制台中拉出图像。 #Docker Config FROM tomcat:8.0.20-jre8 MAINTAINER ashok.gudise@github ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME RUN chgrp -R 0 $CATALINA_HOME RUN chmod -R g+rw $CATALINA_HOME RUN find $CATALINA_HOME -type d -exec chmod g+x {} + #RUN mkdir $CATALINA_HOME/app_conf #ADD config $CATALINA_HOME/app_conf/ COPY build/libs/distributed-app-1.0.war $CATALINA_HOME/webapps/ #RUN sed -i […]

在Minikube中创build部署时指定nodeport

这个要求主要针对开发环境。 当我更新一个Docker镜像,通过Minikube创build和展示部署时,我必须删除并重新创build这个部署和服务。 但是,我想维护分配给该特定服务的同一个nodeport。 我知道,如果离开Minikube,一个随机端口被分配。 但是,我可以指定的NodePort? 我使用以下Yaml文件创build部署,并通过expose命令公开该服务。 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: dpl_name spec: template: metadata: labels: app: app_name spec: containers: – name: ctr_name image: 192.168.42.22:80/imagename:latest ports: – containerPort: 8090 volumeMounts: – mountPath: /var/containerdata name: vlm volumes: – name: vlm hostPath: path: '/data/vlm'

gcloud docker文档可能需要更新

https://cloud.google.com/container-registry/docs/pulling 不应该gcloud docker pull — gcr.io/your-project-id/example-image是gcloud docker — pull gcr.io/your-project-id/example-image