Tag:

Docker容器在本地连接到MySQL数据库 – >redirect到另一个容器

我是Docker的新手。 我已经读过,最好每个容器保持一个应用程序。 我需要运行Web应用程序(LAMP堆栈)。 所以我find了运行PHP + Apache的容器。 现在我需要build立一个MySQL容器。 但是我不确定什么是正确的做法。 我读了可以将多个容器连接在一起。 当它尝试连接到本地mysql数据库时,它的想法是让它运行PHP + Apache的容器。 但将所有本地连接redirect到另一个容器。 我的另一个想法是提供环境variables与主机在哪里应该所有的连接去。 在这种情况下,我需要有公共可访问的MySQL服务器,但我需要保持私有和只能在本地访问。 你可以请build议一个更好的select在我的情况下select? 谢谢

MySQL随机与Magento 2停止

我有一个Ubuntu的14.04滴2GB的内存和DigitalOcean上的2个CPU,一个LAMP堆栈与我创build的Ubuntu的可靠图像的Docker容器。 在这个问题之后,我创build了1GB的交换(不是docker容器),我在[mysqld]部分的innodb_buffer_pool_size=64M设置了innodb_buffer_pool_size=64M 。 我以这种方式安装了MySQL(从我的Dockerfile): # Install MySQL RUN echo mysql-server-5.6 mysql-server/root_password password $mysql_root_password | debconf-set-selections;\ echo mysql-server-5.6 mysql-server/root_password_again password $mysql_root_password | debconf-set-selections;\ apt-get install -y mysql-server-5.6 我用这个bash脚本创build了交换($ 1是接受脚本的第一个参数): #!/usr/bin/env bash # Disable case sensitivity shopt -s nocasematch if [[ ! -z $1 && ! $1 =~ false && $1 =~ ^[0-9]*$ ]]; then echo ">>> […]

使用Docker备份Web应用程序

(对不起我的英文不好) 在Linux服务器上安装Apache,PHP,MySQL,GitLab,Shiny。 此服务器开发人员通过ssh连接作为沙盒。 当前备份在bash脚本上执行并打包在tgz中。 问题: 需要控制备份文件的相关性; 从备份部署应用程序不是很快(超过一个小时已经很关键); 由于前段的结果,可移植性差。 我想在Docker容器中打包所有东西,并安装在Ubuntu ssh,LAMP等的官方基础映像中。备份按照时间表执行docker commit和docker push。 在版本中指定当前的date和时间。 混淆,这可能是docker使用,这是很难预测的陷阱。 (例如,最近我在Docker中部署了WordPress,结果certificate“WordPress将最后一个IP保存为'Home'和'Site'URL。”结果,在不同ip的另一台机器上,WordPress试图加载从旧的主机IP的CSS / JS)。 使用Docker作为备份系统的优点和缺点是什么? 什么是备份的替代解决scheme?

将标准LAMP安装转换为Docker?

我试图学习Docker,并将我已经使用的LAMP堆栈安装转换为Docker: # Install Apache $ sudo apt-get install apache2 # Install PHP (PHP7) $ sudo apt-get update $ sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7 # Install PHP Curl sudo apt-get install php-curl # Install MySQL $ sudo apt-get install mysql-server mysql-client $ sudo systemctl status mysql # Manage MySQL Databases (Optional) $ […]

无法连接mysql和php

有这个灯docker设置(我是一个docker新手): 泊坞窗,compose.yml version: '2' services: webserver: build: . ports: – "8080:80" – "443:443" volumes: – ./:/var/www/html links: – db db: image: mysql:5.6 ports: – "3306:3306" volumes: – /var/lib/mysql environment: – MYSQL_ROOT_PASSWORD=adminpasswd – MYSQL_DATABASE=se_racken_dev phpmyadmin: image: phpmyadmin/phpmyadmin:latest ports: – "88:80" links: – db:db Dockerfile FROM php:5.6-apache RUN apt-get update -y && apt-get install -y libpng-dev curl […]

运行LAMP的Dockerfile(Ubuntu)

我正在尝试使用以下命令创build一个Docker(LAMP)映像 Dockerfile : FROM ubuntu:latest RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apache2 \ mysql-server \ php7.0 \ php7.0-bcmath \ php7.0-mcrypt COPY start-script.sh /root/ RUN chmod +x /root/start-script.sh && /root/start-script.sh start-script.sh: #!/bin/bash service mysql start a2enmod rewrite service apache2 start 我用它来构build它: docker build -t resting/ubuntu . 然后运行它: docker run -it -p 8000:80 […]

Docker Lamp Centos7:'/ bin / sh -c systemctl start httpd.service'返回一个非零的代码:1

我开始使用docker来自动化envorinments,然后我正在尝试构build一个简单的LAMP所以Dockerfile如下所示: FROM centos:7 ENV container=docker RUN yum -y swap — remove systemd-container systemd-container-libs — install systemd systemd-libs RUN yum -y update; yum clean all; \ (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f […]

如何使用Docker,Puppet和Vagrant开发LAMP Web应用程序?

在黑暗时代,我通常开发的LAMP Web应用程序是在我的机器上进行本地testing。 PHP(在我的情况下),数据库和Web服务器都是本地安装的。 服务器是使用标准安装的Apache和MySQL进行安装的,而且我有多个虚拟主机用于Web应用程序的不同部分。 当我对我在本地机器上得到的结果感到满意时,我会login到服务器,然后在暂存环境中进行git pull 。 假设服务器上的所有东西都和我的机器一样,我也会为生产做同样的事情。 新的开始… 所以现在我从头开始一个全新的Web应用程序,我想要“正确的方式”。 我已经读了Docker,Vagrant和Puppet(还有厨师,尽pipe我个人更喜欢Puppet的依赖系统而不是Chef的迭代过程)。 尽pipe我所做的所有研究,似乎仍然有几个问题,我似乎无法find答案: 是否应为Web服务器(如Apache),数据库服务器(如MySQL)和Web应用程序的每个部分分别安装Docker容器? 当我谈论Web应用程序的某些部分时,我指的是mysite.com , controlpanel.mysite.com等等。这些“部分”将共享相同的数据库。 由于Docker似乎为Web和数据库服务器提供了现成的容器,所以至less应该将这些东西放在单独的容器中。 我的networking应用程序的不同部分应该在不同的容器中吗? Docker容器似乎被devise成可replace的,而不是我必须更新里面的软件。 他们写的数据怎么样,我不想丢失? 数据库服务器将pipe理与我的数据库内容相关的文件(我将要备份)。 Web服务器将创build日志,我的Web应用程序将pipe理各种文件和caching等。所有这些文件都需要写在应用程序的容器之外(因为我可能在更新时replace它们),所以它们在哪里? 直接进入主机的文件系统? 或成为一个单独的“Docker卷”? 如果他们进入Docker卷,我应该使用一个单独的卷为数据库,Web服务器,应用程序等? 我是否仍然可以像现在一样使用本地机器上的SFTP轻松访问内容? 我不想在这里失去任何便利! 使用Puppet创build和pipe理开发服务器和生产服务器的Docker容器是不是一个好主意? 看来Puppet支持直接pipe理Docker容器,所以这似乎是从头开始轻松设置服务器或生产环境(使用Vagrant)的一个相当好的方法。 希望我已经提出了一些相关的问题; 为了开发和生产类似LAMP的networking应用程序,获得一些适当的“最佳实践”将是非常好的,只是似乎没有太多的发现!

Docker – 无法从Mac主机访问容器

我似乎无法访问我的Mac上本地运行一个简单的Docker容器。 我可以从容器中运行curl localhost ,看到默认的Apache页面已经提供,但是我无法从我的机器的浏览器中find它。 我想知道如果我有一个VirtualBoxconfiguration问题或东西。 任何帮助诊断问题? Dockerfile # Build the image of ubuntu 12.04 LTS from ubuntu:precise # Run apt-get update run apt-get -y update # Install LAMP run DEBIAN_FRONTEND=noninteractive apt-get -y install lamp-server^ run apt-get -y install vim-tiny curl wget # Put custom scripts in the container and give proper permissions to them add […]