Tag: docker dockerfile

在bash脚本之后保持Nginx活着

我目前正试图在我的Nginx容器中执行一个bash脚本,然后保持它活着。 所以,我的想法是做我需要在bash脚本中,作为最后一个命令,find一个docker-compose ps命令。 但容器不断closures。 这里是我目前有什么总结 Dockerfile FROM nginx:latest COPY ./run.sh /root/run.sh RUN ["chmod", "+x", "/root/run.sh"] CMD ["/root/run.sh"] run.sh #!/bin/bash nginx -g daemon off; 我错过了什么吗?

在Docker中使用SemanticUI

我设置了一个运行快速应用程序的Docker容器。 这是dockerfile: FROM节点:最新 # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app/ RUN npm install RUN npm install -g nodemon RUN npm install –global gulp RUN npm i gulp # Bundle app source COPY . /usr/src/app EXPOSE 3000 CMD [ "nodemon", "-L", "./bin/www" ] 如您所见,它使用nodejs图像并在我的容器中创build一个应用程序文件夹,其本身包含我的应用程序。 它在docker容器上启动时运行npm install并在容器上安装我的模块(感谢我在本地文件夹中没有这个node_modules文件夹),我想集成使用gulp的SemanticUI。 […]

Dockerfile – 如何运行脚本?

创build一个docker文件,但无法运行轨道设置脚本,即./bin/setup执行 我究竟做错了什么? RUN /bin/bash -C "/usr/src/app/bin/setup"不起作用。 我也试过这个RUN ./bin/setup (这也行不通!) Dockerfile FROM ruby:2.3 RUN apt-get update && apt-get install -y nodejs –no-install-recommends && rm -rf /var/lib/apt/lists/* ENV RAILS_VERSION 5 RUN gem install rails –version "$RAILS_VERSION" WORKDIR /usr/src/app COPY . . # setup does not run, why? RUN /bin/bash -C "/usr/src/app/bin/setup" …

我应该使用哪个官方Docker镜像来运行具有多个依赖关系的应用程序?

我有一个Ruby Web应用程序部署,使用Docker容器具有以下依赖项。 ruby(V2.3.1) RVM MongoDB (这将最终运行在自己的容器中) Nginx的 我已经尝试从官方的centos:latest形象开始,然后安装这些依赖关系,但由于也有官方的图像为Ruby,RVM,MongoDB和Nginx,我觉得我错过了使用这些,并复制努力。 是否有可能使用多个官方docker图像来完成?

构build一个自定义的节点 – 红色图像

我想制作我自己的Node-RED docker镜像,所以当我启动它时,stream将被加载,并且Node-RED已经准备好了。 我想要加载的stream被放置在'flows.json'文件中。 而当我通过接口手动导入它工作正常。 Docker的Node-RED文档build议使用自定义stream程来启动Node-RED $ docker run -it -p 1880:1880 -e FLOWS=my_flows.json nodered/node-red-docker 但是,当我尝试这样做时,stream程最终是空的。 我怀疑这必须做一些事实,我试图加载的stream程是使用'node-red-node-mongodb'插件,这是不是默认安装。 我如何构build已经安装了“node-red-node-mongodb”的Node-RED映像? 如果需要更多信息,请询问。 UPDATE 我做了下面的Dockerfile: FROM nodered/node-red-docker RUN npm install node-red-node-mongodb 然后我用它来build立它: docker build -t testenvironment/nodered . 并开始与它: docker run -d -p 1880:1880 -e FLOWS=flows.json –name node-red testenvironment/nodered 但是当我去Node-RED接口时,没有stream量。 另外我没有看到边栏中的MongoDB节点。

如何访问nodeJS应用程序中的docker ENVvariables

我正在使用这个Dockerfile: FROM node:8.4.0 COPY . / ENV MONGO_URL=mongodb://mongo-container/data ENV PORT=80 EXPOSE 80 CMD node /index.js 在index.js文件中,我想检查ENVvariables。 由于Docker镜像在生产环境中使用,如果ENVvariables未设置,我将使用开发环境运行该应用程序。 类似的东西: index.js const mongoUrl = ENV.MONGO_URL || 'mongodb://localhost:3001' 运行Docker镜像应该使用高效的mongoDB,在本地运行应该使用localhost DB

docker集装箱映射到相同的端口

我试图设置一个火花集群使用这个链接 – https://github.com/actionml/docker-spark 当我创build我的容器(2-worker和1-master)时,我看到所有的端口映射到主机上的相同端口。 我想知道如何访问我的主networking用户界面的火花? CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b54c5fd1442c actionml/spark "/entrypoint.sh wo…" 2 minutes ago Up 2 minutes 4040/tcp, 6066/tcp, 7001-7006/tcp, 7077/tcp, 8080-8081/tcp spark-worker1 2c987a057223 actionml/spark "/entrypoint.sh wo…" 3 minutes ago Up 3 minutes 4040/tcp, 6066/tcp, 7001-7006/tcp, 7077/tcp, 8080-8081/tcp spark-worker0 b1d34441507e actionml/spark "/entrypoint.sh ma…" 9 minutes ago Up 9 minutes […]

如何在扩展(node.js)泊坞窗图像上添加自定义CA证书

我正在扩展节点 – 红色docker图像,它(当前)基于node:6泊坞窗图像。 我想将自定义的SSL证书添加到docker-image的证书存储中。 到目前为止,我做了如下: FROM nodered/node-red-docker ADD DigiCertCA.crt /usr/local/share/ca-certificates/ RUN update-ca-certificates ADD settings.js /data/settings.js RUN npm install node-red-contrib-ttn RUN npm install node-red-contrib-influxdb RUN npm install node-red-admin RUN npm install node-red-node-geohash CMD ["npm", "start", "–", "–userDir", "/data"] 构build此映像失败,因为RUN作为非root用户node 。 Updating certificates in /etc/ssl/certs… ln: failed to create symbolic link '/etc/ssl/certs/DigiCertCA.pem': Permission denied The command '/bin/sh […]

Docker镜像中写入的环境variables在哪里?

Docker文件中提到的环境variables在Docker镜像中写入哪里? 在docker镜像里面有没有像bash_profile或者.bashrc的东西?

如何在Docker卷中保存java.util.logging输出

我有一个Java应用程序。 我将我的项目导出为.war文件,构build一个Docker容器并运行它。 结构如下。 对于日志logging我使用java库。 import java.util.logging.Logger; 在我的应用程序中定义我的variables: private static final Logger logger = Logger.getLogger(BusController.class.getName()); 而对于我使用的输出例如: logger.warning("User "+XYZ+" not found!"); 当我启动我的dockerfile时,我为日志安装了一个额外的卷。 REGISTRY=xxxxx.net VERSION=latest IMAGE=busMicroservice SERVICE=busmicroservice LOCAL_DATA_PATH=/opt/docker-busmicroservice/data docker run -p xxxx:xxxxx -d -v $LOCAL_DATA_PATH:/logs –name $SERVICE –hostname $SERVICE $REGISTRY/$IMAGE:$VERSION docker集装箱启动成功后,我可以检查我的音量 docker inspect busmicroservice 并可以看到,我的卷是包括在内。 但是,我现在要做什么,日志将被保存在我的文件夹“/日志”? 我必须在我的Java应用程序中实现什么? 先谢谢你! ———编辑———- 我现在有一个额外的问题的第二个线程: 如何将日志文件保存到泊坞窗卷