Tag: compose

Mac上的Docker:无法运行MySQL

我第一次使用Docker。 在运行命令: make kickoff我收到错误: myapp_php_apache_engine_dev is up-to-date Starting myapp_mysql_dev ERROR: for mysql Cannot start service mysql: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:359: container init caused \\\"rootfs_linux.go:53: mounting \\\\\\\"/Applications/MAMP/htdocs/clients/codingmachine/myapp/mysql/custom-my.cnf\\\\\\\" to rootfs \\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/2ab6b2578ad9f8da2d453aefa5cd9b288fee30dd2d73efc3048627cf0861d55a\\\\\\\" at \\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/2ab6b2578ad9f8da2d453aefa5cd9b288fee30dd2d73efc3048627cf0861d55a/etc/mysql/mysql.cnf\\\\\\\" caused \\\\\\\"not a directory\\\\\\\"\\\"\"\n" ERROR: Encountered errors while bringing up the project. make: *** [up] […]

Docker:找不到指定的Dockerfile错误

我想通过使用docker为我的PC(MacOS)上的Web开发build立一个平台。 在docker容器中安装nginx后,我想构buildnginx。 我得到这个错误。 Cannot locate specified Dockerfile:nginx.docker 我在互联网上search,但我无法解决我的问题。 容器信息(docker ps -a): CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2f268b825ba3 nginx:latest "nginx -g 'daemon off" 39 minutes ago Up 39 minutes 443/tcp, 0.0.0.0:8081->80/tcp dockertutorial_nginx_1 这是我的docker-compose.yml文件: nginx: container_name: dockertutorial_nginx_1 build: . dockerfile: nginx.docker ports: – 80:8081 links: – php volumes: – .:/Users/user/docker-tutorial php: image: php:7.0-fpm expose: […]

Docker与Drone和Gitlab组成,Gitlab错误“包含的redirectURI无效”。

我正在调查CI技术,所以我想我会在本地使用Docker创buildDrone和Gitlab。 这是docker-compose.yml: version: "2" services: example_gitlab: image: gitlab/gitlab-ce:latest volumes: – ./new-gitlab/srv/gitlab/config:/etc/gitlab – ./new-gitlab/srv/gitlab/logs:/var/log/gitlab – ./new-gitlab/srv/gitlab/data:/var/opt/gitlab ports: – "4443:443" – "8000:80" – "2222:22" example_drone: build: ./drone volumes: – /var/lib/drone/ – /var/run/docker.sock:/var/run/docker.sock – ./drone/sqlite/drone.sqlite:/var/lib/drone/drone.sqlite environment: – DRONE_GITLAB=true – DRONE_GITLAB_URL=http://0.0.0.0:8000 – DRONE_GITLAB_CLIENT=4b5292ffbe30e93713b57853c43194aa63d50c176516c8ffaa8b213f1bb1555b – DRONE_GITLAB_SECRET=6088c59102511a418154197d415762a8768e0e2d6c9ad4bb9013f48d1df3b226 ports: – "8080:8080" 这些应用程序启动正常,我已经在这些设置中设置了一个应用程序在gitlab中: Name: Drone Redirect URI: http://0.0.0.0:8080/authorize 然后我把身份证和秘密,并把它们添加到无人机的环境。 所有这一切正常。 但是,当我尝试从无人机login到gitlab时,我得到: 发生了错误 包含的redirectURI无效。 […]

docker-compose:在创build数据库容器时,控制台不返回到主机

我正在尝试使用docker-compose创build一个postgresql docker容器,但是当我使用预先准备好的postgresql映像时,控制台似乎永远不会返回到主机,如果我按Ctrl + C,容器最终会被停住。 这是我得到的: 泊坞窗,compose.yml version: '2' services: database: container_name: database_server build: context: . dockerfile: Dockerfile_database image: database:tag expose: – "5432" Dockerfile_database FROM library/postgres ADD init.sql /docker-entrypoint-initdb.d/ init.sql CREATE USER usuario WITH PASSWORD 'senha'; CREATE DATABASE telesaude; GRANT ALL PRIVILEGES ON DATABASE telesaude TO usuario; 并在容器创build期间控制台显示一些postgresql日志,如下所示: Building database Step 1/2 : FROM library/postgres —> […]

将已安装的工具从一个容器共享到所有使用Docker的容器组成

我对Docker非常了解,了解容器如何工作和共同工作。 我正在创build一个LEMP堆栈,我有nginx和php7-fpm作为单独的容器。 每个人都有一个Dockerfile,基本上创造了我所需要的一切。 我的问题,虽然是在一个容器中安装工具(如ffmpeg,exiftool等..)不可用与其他容器。 是否有可能在所有容器中都有这些工具?

Docker组成:

例如,这里是我的项目结构: project | +– docker-compose.yml | +– hq-backend | +– Dockerfile | +– .env.docker-compose 这里是我的docker撰写文件: db: container_name: hq-db image: postgres:latest ports: – "5432:5432" environment: POSTGRES_USER: user_name POSTGRES_PASSWORD: password POSTGRES_DB: db_name mongo: container_name: hq-mongo image: mongo:3.2.9 tty: true stdin_open: true ports: – "27027:27027" volumes: – mongo:/data/db hq-backend: env_file: – ../hq-backend/.env.docker_compose build: ../hq-backend/ dockerfile: Dockerfile ports: – […]

Docker-compose联网,从容器访问主机端口

这是我的撰写文件: version: '3' services: web: container_name: dash build: context: . dockerfile: Dockerfile args: webpackVersion: 2.2.1 nodeVersion: "6.x" ports: – "3036:3036" links: – mongodb:dbhost depends_on: – mongodb mongodb: container_name: mongodb build: context: . dockerfile: Dockerfile-mongodb 现在, web可以访问mongodb容器,在那里我保持appconfiguration。 但是我也需要能够访问我的本地机器上的端口3306,在这里我从web运行docker-compose。 我试图按照文档,但我是新的docker,所以它看起来很复杂,我如何使用docker-composenetworking。 如果有人能帮助我理解这一点,我会很感激!

使用'docker-compose'命令运行Elasticsearch,Logstash和Kibana

我将用以下docker-compose.yml文件docker-compose.yml docker-compose命令运行ELK: — version: '2' services: kibana: image: docker.elastic.co/kibana/kibana links: – elasticsearch ports: – 5601:5601 kibana: image: docker.elastic.co/logstash/logstash links: – elasticsearch ports: – 5044:5044 elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch cap_add: – IPC_LOCK volumes: – esdata1:/usr/share/elasticsearch/data ports: – 9200:9200 volumes: esdata1: driver: local 但是我有几个问题: 1)我指定links参数链接容器,但我也应该指定networks参数? 它是干什么用的? 2)如何更改Elasticsearch,Logstash和Kibana的默认用户名和密码? 3)Elasticsearchconfiguration参数存储在elasticsearch.yml文件中,但我可以在哪里find该文件? 是否有可能直接在docker-compose.yml文件中定义Elasticsearch参数,例如path.data , path.logs , cluster.name , node.name ?

克隆和轻松运行laravel应用程序

我在本地机器上开发了我的第一个laravel web应用程序。 克隆和运行其他人在其他计算机上的本地Web应用程序的最佳方式是哪一种? 我想分享这个应用程序,并简化“克隆”和“运行”的过程。 也许docker或拉托克? 我想避免在其他机器上安装PHP,Apache和Mysql。 我的主要目标是克隆存储库,并轻松地在其他计算机上运行它。 你能提供最好的工具或方法来做到这一点?

在Dockerfile中创build一个新用户,并且无法安装npm deps

这是我的Dockerfile : FROM node:7.10.0 RUN useradd –user-group –create-home –shell /bin/false app RUN mkdir -p /usr/src/hello ENV HOME=/usr/src/ COPY package.json $HOME/hello/ RUN chown -R app:app $HOME/* RUN npm install -g pm2 USER app WORKDIR $HOME/hello RUN npm install EXPOSE 8080 CMD ["npm", "start"] 它用于从docker-compose构build我的应用程序 version: '2' services: hello: build: ./hello command: "pm2-docker server.js" ports: – 8080:8080 […]