Tag: compose

如何在Docker中实现seccomp?

我遇到了大多数Docker安全性开发者可能遇到的问题。 我还没有能够通过security_opt标签在Docker-compose中实现seccomp,因为在docker撰写方面,我不能读懂json文件。 另一方面,有一个简单的方法通过命令行在容器中实现seccomp: docker run –rm -it –security-opt seccomp = / path / to / seccomp / profile.json <container> 在我目前的项目中,我需要实现seccomp,但在docker守护进程或docker撰写级别。 请任何人有任何线索如何做这将是非常有益的。 从已经非常感谢你。

使用Docker-compose将文件复制到Docker容器中的tomcat webapps文件夹

我有一个像我不得不复制几个configuration文件到docker容器内存在的tomcat webapps文件夹的场景。 这是我使用的dockerfile FROM tomcat:7.0.82-jre8 RUN apt-get update && apt-get -y upgrade WORKDIR /usr/local/tomcat COPY /app.war /usr/local/tomcat/webapps/app.war RUN apt-get update && apt-get install -y dos2unix EXPOSE 8080 COPY tomcat-users.xml /usr/local/tomcat/conf/ 一旦我们运行docker,它实际上做了以下 它实际上将app.war复制到tomcat的webapps文件夹中,并提取到一个名为“app”的文件夹 Docker将尝试启动tomcat服务器。 我想将我的configuration文件复制到tomcat webapps文件夹内的提取的war文件。 在启动tomcat服务器之前,以下是属性的位置,如tomcat_home / webapps / app / conf / services.properties 我有一个挑战,复制此属性文件到相应的文件夹启动tomcat caontainer之前。 我不知道如何使用docker-compose来做到这一点。 在docker-compose.yml中还是使用dockerfile是否真的有可能? 任何答案都是可观的。

由于EAI_AGAIN,电子邮件不在Docker容器内使用Nodemailer发送

我已经在Docker容器中设置了Nodemailer,但是我一直无法获得发送的邮件。 我在Docker之外运行相同的代码来testing它是否工作,并发送电子邮件。 所以它必须与我的docker容器设置有关。 我用来开发的docker-compose和docker-file不是花哨的,只是必需品,而我使用docker-toolbox,因为我没有Windows 10专业版。 我发现类似的问题,例如Nodemailer在一年多的Docker容器上部署并且不包含示例代码或答案之后不发送邮件 。 另外,发现https://stackoverflow.com/a/25270794/1148107 ,并尝试更改端口为465 TLS打开和closures,但仍不发送邮件。 错误 一个EAI_AGAIN错误被抛出,我抬头,是一个DNS查找超时问题,所以可能是一个networking连接错误或代理相关的错误,但我不是docker(或devops)大师,所以我有问题搞清楚解决它。 任何人都可以解释如何让Nodemailer在Docker容器中工作吗? Error: getaddrinfo EAI_AGAIN smtp.mailtrap.io:2525 at Object._errnoException (util.js:1021:11) at errnoException (dns.js:58:15) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:95:26) code: 'ECONNECTION', errno: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'smtp.mailtrap.io', host: 'smtp.mailtrap.io', port: 2525, command: 'CONN' Docker撰写 services: server: container_name: server build: context: . dockerfile: .docker/node.${APP_ENV}.dockerfile ports: – "3000:3000" […]

带命名卷的PostgreSQL不是第二次启动

我正在使用bitnami/postgresql:9.6镜像启动postgresql DB。 我想在容器的重新启动之间保持数据,并使用命名卷。 这是我的docker文件configuration: postgresql: image: 'bitnami/postgresql:9.6' ports: – 5432 environment: – POSTGRESQL_REPLICATION_MODE=<name> – POSTGRESQL_REPLICATION_USER=<name> – POSTGRESQL_REPLICATION_PASSWORD=<name> – POSTGRESQL_USERNAME=<name> – POSTGRESQL_PASSWORD=<name> – POSTGRESQL_DATABASE=<name> – POSTGRES_INITDB_ARGS="–encoding=utf8" volumes: – volume-postgresql:/bitnami/postgresql/data volumes: volume-postgresql: 但是当我重新启动容器,我得到以下错误: postgresql | nami INFO Initializing postgresql postgresql | Error executing 'postInstallation': initdb: directory "/opt/bitnami/postgresql/data" exists but is not empty postgresql | If you want […]

套接字事件不在docker器容器,docker组成的浏览器中触发

没有dockerizing应用程序,一切工作正常。 将应用程序迁移到Docker时,我无法在浏览器中接收套接字事件。 我能够从浏览器和控制台接收服务器中的套接字事件。 泊坞窗,compose.yml database: image: mongo:latest container_name: minipool_database ports: – "27017:27017" seed: build: seed container_name: mp_seed links: – database application: (Node v.7.9.0 / socket-io: 1.4.8 / Angular 1.4.9 / angular-socket-io: 0.7.0) build: application container_name: mp_application links: – database ports: – "8080:8080" Express服务器 'use strict'; process.env.NODE_ENV = process.env.NODE_ENV || 'development'; var connection = ''; if(process.env.NODE_ENV […]

无法从Mac localhost的Docker容器中访问rabbitmq webpipe理员

我最近为需要Docker,MongoDB容器和RabbitMQ容器的项目安装了Docker for Mac。 我正在使用docker-compose.xml文件来创build容器。 到目前为止,我能够通过localhost:27017从容器访问MongoDB数据库。 但是,我无法使用localhost:15672访问pipe理插件。 我正在使用RabbitMQ的pipe理映像,但是这根本不起作用。 这里是我的configuration文件的副本: 搬运工-组成,阳明海运: version: '2' services: mongo: container_name: "mongo1" tty: true image: mongo:latest environment: – MONGO_DATA_DIR=/data/db – MONGO_LOG_DIR=/dev/null – MONGO_INITDB_ROOT_USERNAME=admin – MONGO_INITDB_ROOT_PASSWORD=*************** volumes: – /data/db:/data/db ports: – 27017:27017 command: "mongod –smallfiles –auth" rabbitmq: container_name: "rabbitmq1" tty: true image: rabbitmq:management ports: – "15672:15672" – "15671:15671" – "5672:5672" volumes: – /rabbitmq/lib:/var/lib/rabbitmq […]

Docker:无法启动服务nginx

我正在使用docker -compose处理nginx服务,我创build了docker-compose.yml文件: version: '2' services: nginx: image: nginx:1.11.8-alpine ports: – "8858:80" volumes: – ./site.conf:/etc/nginx/conf.d/default.conf – ./code:/usr/share/nginx/html – ./html:/myapp – ./site.conf:/etc/nginx/conf.d/site.conf – ./error.log:/var/log/nginx/error.log – ./nginx.conf:/etc/nginx/nginx.conf:ro 这是site.conf文件 server { listen 80; index index.html index.php; server_name localhost; error_log /var/log/nginx/error.log; location / { root /usr/share/nginx/html; } location /html { alias /myapp; } } 这是docker组成的结果 错误:对于ef5152b88a7c_ef5152b88a7c_nginxdocker_nginx_1无法启动服务nginx:oci运行时错误:container_linux.go:247:启动容器进程导致“process_linux.go:359:容器init导致”rootfs_linux.go:54:挂载\\“/ root / nginx-搬运工/ nginx.conf […]

Dockertestinglaravel项目总是失败,SQLSTATE 2002第一次

我使用docker运行laravel项目testing,命令看起来喜欢这个 docker-compose build –no-cache docker-compose up -d laravel php-fpm apache2 mysql sleep 4 docker ps docker-compose ps docker-compose exec laravel bash tests.sh sleep 4 docker ps docker-compose ps docker-compose exec laravel bash tests.sh 但总是在第一次tests.sh失败,并获得消息SQLSTATE[HY000] [2002] Connection refused和睡眠4s运行第二次testing将成功。 这很奇怪,我相信所有的testing结果都应该是绿灯。 这里有一些日志和命令输出,以帮助https://gist.github.com/weretyc/9217c5c1775d1c284b6d525538817620 任何想法?

Docker组合生成错误 – 项目文件不存在

我正在尝试创builddocker compose来运行我的ASP.NET Core应用程序和mssql,但是在构build过程中出现错误。 这是我的docker撰写文件: # Build Stage FROM microsoft/aspnetcore-build:latest as build-env WORKDIR /source COPY . . RUN dotnet restore ./Travelingowe.sln RUN dotnet publish –output ${source:-obj/Docker/publish} –configuration Release # Publish Stage FROM microsoft/aspnetcore:latest COPY –from=build-env ./obj/Docker/publish /app WORKDIR /app ENTRYPOINT ["dotnet", "Api.dll"] 当我在CMD中运行 – > docker-compose up时,我得到: Building api Step 1/9 : FROM microsoft/aspnetcore-build:latest as build-env […]

Elastic Beanstalk在Docker-Compose上看不到公开的端口

我有一个凤凰应用程序,我试图推动AWS /弹性beanstalk。 现在我遵循这个指南,并确认Docker-compose和run命令在localhost https://github.com/dreamingechoes/docker-elixir-phoenix上工作 。 但是,我很难通过eb cli接口将项目部署到弹性beanstalk。 这是运行后得到的错误 eb create projectName ERROR: No EXPOSE directive found in Dockerfile, abort deployment ERROR: [Instance: i-0cabfeaad7423be93] Command failed on instance. Return code: 1 Output: No EXPOSE directive found in Dockerfile, abort deployment. 我的文件: Dockerfile: # Versions # # Erlang: 1:20.0 # Elixir: 1.5.0 # Phoenix: 1.3.0 FROM ubuntu:14.04 […]