Tag: docker文件docker 撰写

如何推动由Docker-composepipe理的Docker容器到Heroku?

我目前有一个本地testing和工作的Web应用程序,包括4个docker容器:Java MVC,NodeJS,Flask和MongoDB。 我有4个Dockerfiles,每个都有一个,我使用docker-compose.yml来pipe理这些构build。 然而,现在我想推我的代码到Heroku,我阅读文档在https://devcenter.heroku.com/articles/container-registry-and-runtime 。 但是,如何在生产线上使用docker构成似乎非常模糊。 这就是它在文档上说的: “如果你创build了一个多容器应用程序,你可以使用Docker Compose来定义你的本地开发环境,学习如何使用Docker Compose进行本地开发。 任何人都可以指导我一些如何使用Heroku的CLI将我的项目推到Heroku容器的实际代码?

多主机Docker在Swarm上组成应用程序

我有一个简单的撰写文件,我有三个服务A,B和C.A和B都依赖于C(即有links到C)。 这里是一个来自docker-compose.yml的简化摘录: kafka: image: spotify/kafka environment: ADVERTISED_PORT: 9092 ports: – "2181:2181" – "9092:9092" ServiceA: image: elsoufy/myimage command: ./mycommand -role producer -queue kafka:9092 ports: – "8080" ServiceB: image: elsoufy/myimage command: ./mycommand -role consumer -queue kafka:9092 我在AWS上设置了一个Docker swarm,并通过consul key-store启用覆盖networking。 我一直在挣扎一段时间才能正常工作(我不得不手动升级机器的内核到linux 3.16 )。 我使用的是Docker 1.9 Client: Version: 1.9.0 API version: 1.21 Go version: go1.4.3 Git commit: 76d6bc9 Built: […]

如何在Docker中使用STOPSIGNAL指令?

我已经安装了Docker 1.9,想知道我是否以正确的方式使用指令。 FROM internal.docker.registry / image1 维护者internal@abc.com COPY sample.war webapps / sample.war STOPSIGNAL SIGKILL 我的理解是,当我这样做 docker停止container_id ,它会停止在容器内运行的tomcat。 它也将删除Pid文件。 请确认我是否有正确的理解。

docker服务注册到领事,但健康检查失败

我想在docker集装箱内放置一个弹簧启动应用程序。 它使用了@EnableDiscoveryClient,它将它与consul =>注册整合在一起,健康检查在docker之外完美运行。 我将这个示例应用程序(来自http://rpi-cloud.com/apigatewaypattern/的电影应用程序)embedded到这个dockerfile中: # VERSION 1.0 FROM java:8 ADD ./movie-0.0.1-SNAPSHOT.jar / # server port EXPOSE 9000 WORKDIR / CMD ["java", "-jar", "/movie-0.0.1-SNAPSHOT.jar"] 然后从以下docker-compose.yml运行它: # service discovery consul: image: consul ports: – "8500:8500" # 8500 (HTTP) command: agent -server -bootstrap-expect 1 -ui -data-dir /tmp -client=0.0.0.0 ## test service movie: build: ./movie ports: – "9000:9000" links: […]

docker“jenkins”形象不能访问互联网

我正在使用官方docker图片( 在这里find ) 我已经使用docker了很多,所以我知道我正确运行它,但在本地主机 ,在第二次运行我得到这些错误: jenkins_1 | Jan 28, 2017 7:29:13 AM hudson.model.UpdateCenter updateDefaultSite jenkins_1 | WARNING: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail. jenkins_1 | java.net.SocketException: Unexpected end of file from server jenkins_1 | at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:792) jenkins_1 | at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) jenkins_1 | at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:789) jenkins_1 | at […]

如何将文件从主机装载到ECS上的Docker容器

我想从我的主机-EC2挂载一个文件到一个在ECS服务器上运行的容器。 在主机上的文件上发生的每一个变化都应该在容器中的文件上更新。 我试过的是如下: Dockerfile: FROM nginx COPY conf/default.conf /etc/nginx/conf.d/default.conf volume /etc/nginx/conf.d RUN ln -sf conf/default.conf /etc/nginx/conf.d/ EXPOSE 80 然后在ECR Repo上推送图像并创build任务,添加卷(源path:conf),挂载点(/etc/nginx/conf.d),并创build服务来运行容器。 然而,我在主机服务器上做的每一个改变,dir:/conf/default.conf都不能在容器/etc/nginx/conf.d/default.conf 我知道docker运行-v,但是当我使用ECR时,它通过设置运行容器本身。 任何build议,将不胜感激。

在尝试运行docker-compose.yml文件时接收拉取访问被拒绝的错误

在使用node.js和docker构build一个基于微服务的应用程序。 我创build了我的docker-compose.yml文件,但是当我尝试运行执行命令“docker-compose up -d”时,我不断收到以下错误消息:“错误:pull rabbbitmq拒绝访问,存储库不存在或可能需要“dockerlogin”。 以下是我的docker-compose.yml文件的示例: version: '2' services: myservice1: container_name: “myapp_myservice1” build: context: ../../MyService1 dockerfile: dev.Dockerfile command: npm start volumes: – ../../MyService1:/usr/src/app/ ports: – "3000:3000" depends_on: – mongo – rabbitmq – nginx myservice2: container_name: “myapp_myservice2” build: context: ../../MyService2 dockerfile: dev.Dockerfile command: npm start volumes: – ../../MyService2:/usr/src/app/ ports: – "3000:3001” depends_on: – mongo – rabbitmq […]

eval“$(docker-machine env default)”

我有docker-compose启动docker的问题。 当我运行docker-compose -f dev.yml build我以下错误> Building postgres ERROR: Couldn't connect to Docker daemon – you might need to run `docker-machine start default`. 但是,如果我运行docker-machine ls机显然是> NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default – virtualbox Running tcp://192.168.99.100:2376 v1.12.1 我通过运行eval "$(docker-machine env default)"修复了这个错误。在这之后, docker-compose -f dev.yml build成功完成。 我的问题为什么这个工作,实际发生了什么,我该如何解决? 也是这是一个安全的方法来解决这个问题? 现在,这只是我的笔记本电脑,但这些容器应该在不久的将来打到公司的服务器。 我不是超级stream利的bash,但我总是被告知不要运行eval ,特别是不要运行eval与“

如何configuration`ng serve`来捕获dockersized Angular 2应用程序中的更改?

我是'dockersizing'(我希望这是一个正确的术语)现有的Angular 2应用程序,运行在angular-cli (1.0.0-beta.31)上。 我正在努力find一种方法来使ng serve捕捉,每当我更新我的工作目录中的文件,因此 – 刷新我的应用程序(像往常一样)。 否则,我需要每次更改文件时都需要docker-compose up –build … 编辑 :我正在探索的想法是添加一个卷。 这是我的Dockerfile : # Dockerizing Angular 2 Client App # @link: https://scotch.io/tutorials/create-a-mean-app-with-angular-2-and-docker-compose # Create image based on the official Node 7 image from dockerhub FROM node:7 # Create a directory where our app will be placed RUN mkdir -p /usr/src/app # Change directory […]

Pip安装-e软件包不会出现在Docker中

我有一个requirements.txt文件,其中包含: Flask-RQ==0.2 -e git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo 当我尝试使用Docker Compose构build一个Docker容器时,它会下载这两个包并将其安装,但是当我做一个pip freeze ,没有-e包的标志。 当我尝试运行应用程序,看起来好像这个软件包还没有安装。 以下是构build的相关输出: Collecting Flask-RQ==0.2 (from -r requirements.txt (line 3)) Downloading Flask-RQ-0.2.tar.gz Obtaining repo from git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo (from -r requirements.txt (line 4)) Cloning https://token:x-oauth-basic@github.com/user/repo.git to ./src/repo 这里是我的Dockerfile : FROM python:2.7 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY requirements.txt /usr/src/app/ RUN pip install -r requirements.txt COPY . /usr/src/app 我觉得这种情况很奇怪,并希望得到任何帮助。