Tag: 窗撰写

docker-compose dev / live容器与不同的包

已经有一些同样的问题: 一个或两个 ,但形成我的理解答案只是部分涵盖了这个话题。 在我的情况下,我有4个容器: db , cache , nginx web服务器和php-fpm 。 前三个是不感兴趣的。 我们来谈谈php-fpm。 我有一个Dockerfile ,在那里我定义(通过RUN apt-get… )生产需要的软件包列表,以及生产环境的一些iniconfiguration。 接下来,我想在生产就绪的php-fpm上添加一个开发层,这就是为什么我需要另一个Dockerfile ,在那里我安装了一些东西,比如我不想在生产环境中看到的xdebug 。 但是对于第二个Dockerfile我需要一个正确的FROM ,这就是为什么我需要首先构build一个生产php-fpm容器,如: docker build -t my-php-fpm:base 到目前为止,我可以在我的第二个(dev) Dockerfile引用它,并在我的撰写中使用它。 但是,基本的映像不是docker-compose.yml的一部分,所以不要忘了每次修改它时,都要修改它,并且简单的docker-compose up -d –force-recreate已经不够了。 只有一个基本图像可能没问题,但是如果系统变得更复杂,并且会有4-5个或更多这样的基本图像,则可以容易地进入噩梦而不忘记(重新)构build所有基本图像,并且只有在这之后才能撰写。 在阅读和重新阅读文档后,我最终以这样的方式结束了:基本映像成为docker-compose.yml的一部分: my-php-fpm-base: build: context: ./php-fpm image: my-php-fpm:base container_name: my-php-fpm-base 但是,然后开发和生产环境(以及任何其他的,如阶段或testing) 必须使用撰写和定义真实的php-fpm实例的覆盖function。 docker-compose.dev.yml : my-php-fpm: build: context: ./php-fpm-dev container_name: my-php-fpm volumes: – ..:/var/www/my […]

Docker php:5.6-apache 403(因为path的组件上缺lesssearch权限)

文件树: ├── docker-compose.yml ├── Dockerfile └── www └── index.html Dockerfile: FROM php:5.6-apache ADD ./www /var/www/html/ WORKDIR /var/www/html/ 泊坞窗,compose.yml version: '2' services: php5_6: build: . ports : – "80:80" volumes: – ./www:/var/www/html/ 尝试启动docker $ docker-compose up [core:error] [pid 17] (13)Permission denied: [client 172.19.0.1:53514] AH00035: access to /index.html denied (filesystem path '/var/www/html/index.html') because search permissions are missing […]

无法从本地主机连接到mysql容器

我试图build立一个MySQL容器进行开发。 所以我用docker-compose来设置它。 容器和mysql看起来不错。 问题是我想从DBeaver客户端连接到它,我无法find我如何做到这一点。 这是我docker-compose.yml : version: '2' services: db: image: 'mysql:5.7' volumes: – '~/dev/dbs-data/mysql:/var/lib/mysql' restart: 'always' expose: – '3306' ports: – '3306:3306' environment: MYSQL_ROOT_PASSWORD: 'pass' MYSQL_DATABASE: 'db' MYSQL_USER: 'user' MYSQL_PASSWORD: 'pass' 当我尝试从DBeaver连接时,我得到: java.sql.SQLException: null, message from server: "Host '172.18.0.1' is not allowed to connect to this MySQL server" UPDATE 我没有尝试使用IP 172.18.0.1进行连接。 我试图连接使用localhost:3306和子IP泊坞窗给它0.0.0.0:3306 UPDATE 在我的Mac上成功连接后,我再次在我的Linux上再次用DBeaver: […]

从卷更改目录的chmod

我正在尝试在容器中运行CakePHP 2应用程序。 我有一切设置和PHP正常工作,但有一个问题:/ var / www / app / tmp具有不正确的写入权限。 这个目录是从卷加载的

Docker代理窗口守护进程命名pipe道到Ubuntu容器

环境: 操作系统 :Windows 10 Pro [ 使用Hyper-V ] Docker版本 :17.03.1-ce networking部署机制 : docker-compose 问题: 我一直在试图从我的Ubuntu Container访问docker守护进程,这使得像这样的查询:[ 哪些不起作用 ] curl http://<IP>:2375/containers/<another_node>/stats?stream=0 它适用于Windows Host ,当我这样做时使用PowerShell: irm "http://localhost:2375/…" 但是,如果我更改localhost到其他任何东西像我的私人IP地址。 没有任何工作 ( 这很好 )。 但是,我想将所有可以在Windows Host上访问的数据转发到Ubuntu Container 。 这是棘手的地方。 一个简单的端口转发像: … ports: – 2375:2375 不行! 我知道在Linux/Mac Host -> Linux Container ,你可以挂载/var/run/docker.sock文件。 唯一的窗口替代方法是named pipe 。 但是无处可以find一种方法,可以将pipe道安装到Linux Container 。 只有我提出的解决方法: 我写了一个Node.js服务器,作为一个HTTP代理。 […]

无法连接到数据库泊坞窗容器

目前正致力于移动我们的应用程序开始使用docker。 这是一个典型的后端和前端应用程序。 前面我没有任何麻烦,但还是不能发回。 我有后端的Docker文件: FROM williamyeh/java8 RUN apt-get -y update && apt-get install -y maven WORKDIR /explorerbackend ADD settings.xml /root/.m2/settings.xml ADD pom.xml /explorerbackend ADD src /explorerbackend/src RUN ["mvn", "clean", "install"] ADD target/explorer-backend-1.0.jar /explorerbackend/app.jar RUN sh -c 'touch /explorerbackend/app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /explorerbackend/app.jar" ] 和mysql的Docker文件: FROM mysql ADD createDB.sql […]

附加terminal和启动docker组成?

当我运行docker docker-compose up -d与下面的docker-compose.yml文件容器启动并终止。 什么是启动使用docker-compose.yml一个不退出的ubuntu shell的方式。 ( 我明白这是因为terminal没有连接到Ubuntu,所以它退出 )。 或者有什么办法“启动一个terminal附加的停止容器”,这样它不会退出? ubuntu_x64_v1610: image: ubuntu:16.10 container_name: Ubuntu-x64-v1610 ports: – 80:80 environment: UBUNTU_VERSION: "x64, v16.10, Shell" volumes: – /fldr:/root/fldr

在Windows 10上无法使用Docker查看文件

本周我第一次尝试了Docker,并在Windows 10中遇到了一些麻烦。我可以在macOS上很容易地设置我的环境,但是在Windows 10上却不能。 我刚刚使用WebDevops的样板( https://github.com/webdevops/php-docker-boilerplate )作为初学者。 在Windows 10上,如果我没有创build一个默认的机器,Docker使用MobyLinuxVM。 在我的文件夹,这是不是C:驱动器,但在另一个名为E:(我所有的驱动器在Docker设置共享),如果我做一个简单的docker-compose up -d ,我可以访问我的应用程序文件夹http:// localhost:8000和PHPMyAdmin, http:// localhost:8080 。 现在,如果我使用HyperV驱动程序创build一台机器,将其设置为默认机器,激活它并创build一个docker-compose,我仍然可以访问PHPMyAdmin和app文件夹,但最后一个是空的! 一个简单的index.php文件不解释。 要创build一台机器,我做了以下几件事情: docker-machine create –driver hyperv –hyperv-virtual-switch "Primary Virtual Switch" default docker machine env default & "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env default | Invoke-Expression 这是我的docker-compose.yml文件: version: '2' services: ####################################### # PHP application Docker container ####################################### app: build: context: . dockerfile: […]

如何从不同的容器中使用php&nodejs

假设我有以下情况: 泊坞窗,compose.yml version: '3' services: web: build: . links: – apache – php – node depends_on: – apache – php – node volumes: – .:/var/www/html apache: image: httpd php: image: php node: image: node 我也有一个Dockerfile FROM phusion/baseimage RUN apt-get update RUN apt-get install -yq git curl zip wget curl RUN curl -s https://getcomposer.org/installer | php […]

Mysql:转发主机查找失败:未知主机

我们在我们的应用程序中使用docker-compose,并且不熟悉我们在运行docker docker-compose up –build之后出现此错误的这部分应用程序docker-compose up –build : Mysql: forward host lookup failed: Unknown host