我创build了具有以下内容的Dockerfile: FROM ubuntu:latest RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y nano curl apache2 mysql-server-5.6 php5-mysql php5 libapache2-mod-php5 php5-mcrypt php5-intl php5-gd php5-imagick php5-curl EXPOSE 80 我build立它并运行容器。 当我尝试在容器中运行mysql_install_db时,出现错误: FATAL ERROR: Could not find my-default.cnf 当我通过命令service mysql start运行mysql service mysql start ,我得到消息: * Starting MySQL database server mysqld. No directory, logging in with HOME=/ [OK] * […]
我有一个传统的MySQL数据库,我正在使用由5个表组成,其中2个是连接/联结表。 我在控制器中有一个方法,查询其中一个表并通过连接表填充一些字段。 这对于less于1632项的查询可以正常工作,但对于填充字段数组之上的任何内容都不包含任何数据。 没有错误抛出,这些字段只是空白,如"user": [] 。 将SQL查询logging到MySQL容器中显示,对于项目> 1632,处理群体(inner_joins等)的第二个查询不会进入。 有没有其他人经历过这个? 我已经testing了这个风帆0.12.0和0.11.4和sails-mysql 0.11.4和0.11.1,它位于节点v4.2.6之上。 我正在Docker容器中运行api和数据库,并且已经testing了为docker主机configuration更多的RAM而无济于事。
这是我的.yaml内容 apiVersion: v1 kind: Pod metadata: name: mysql labels: name: mysql spec: containers: – resources: limits : cpu: 0.5 image: imagelingga name: imagelingga ports: – containerPort: 80 name: imagelingga – resources: limits : cpu: 0.5 image: mysql name: mysql env: – name: MYSQL_ROOT_PASSWORD # change this value: pass ports: – containerPort: 3306 name: mysql volumeMounts: […]
Laravel 5.1用奇怪的方法评估嵌套variables。 vlucas / phpdotenv的规范如下: CACHE_DIR="${BASE_DIR}/cache" 但是, DB_HOST="${MYSQLDB_PORT_3306_TCP_ADDR}"将会通过http返回"${MYSQLDB_PORT_3306_TCP_ADDR}" ,这显然不能连接到。 通过phpunit TESTING_DB_HOST="{$MYSQLDB_PORT_3306_TCP_ADDR}"将正确返回172.17.0.2。 注意$的位置是不正确的。 将$放在正确的位置将返回"${MYSQLDB_PORT_3306_TCP_ADDR}" 。 更改$请求的$位置并不重要,我没有收到评估值。 我正在使用docker,我不知道是否有任何事情要做这个问题。 我正在使用本指南: Laravel / docker 任何想法是怎么回事,以及如何从一个.env嵌套variables获取http的mysql ip?
我正在试图为master-> slave复制运行两个不同的mysql容器。 我从build立和运行主开始: docker build –no-cache -t mysql-master . docker run -it –name mysql-master -h mysql-master -p 3306:3309 mysql-master /bin/bash 哪些工作正常,并正确运行容器。 我可以得到尽可能多的信息来build立第二个容器,mysql-slave。 当我运行以下命令: docker build –no-cache -t mysql-slave . docker run -it -p 3308:3309 mysql-slave –name mysql-slave –link mysql-master:mysql-slave /bin/bash mysql-master容器断开连接。 我不知道为什么,但我相信与容器有某种冲突,我可能不知道。 任何人都可以提出什么docker命令我应该运行,使两个容器可以同时运行? 我有一种感觉,这是因为两个容器都试图访问相同的端口: root@test2net:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS […]
tl; dr:数据库用来从远程连接,但在docker化后,它不是(虽然我可以从主机访问)。 我已经build立了一个在ec2实例中运行MySQL的docker容器,使用下面的命令: sudo docker run –name mysql-csm -p 3306:3306 -v /db/mysql:/var/lib/mysql -v /db/mysql-config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=password -d mysql 其中: -v /db/mysql:/var/lib/mysql将我的主机的数据库映射到docker 和 -v /db/mysql-config:/etc/mysql/conf.d将我的主机自定义configuration文件映射到docker化的MySQLconfiguration。 主机文件应该是先例,我的自定义configuration包含一行: [mysqld] bind-address = 0.0.0.0 我可以通过主机命令行使用以下命令连接到数据库: sudo docker run -it –link mysql-csm:mysql –rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -u"user" -p"pw"' 从MySQL的命令行,所有的表格等,都呈现&看起来不错。 这个数据库以前运行在一个普通的MySQL版本,我可以远程连接。 但是,当试图从我的笔记本电脑使用MySQL Workbench连接时,我收到错误: Table 'performance_schema.session_variables' doesn't exist 谷歌search表明这是升级,但我不知道如何解决这个问题。 […]
我倾向泊坞窗,并试图连接我的Java应用程序中的数据库。 我已经创build了容器并启动了它 5621fc9b438d mysql / mysql-server:latest“/entrypoint.sh mysq大概一个小时以前up大约一个小时3306 / tcp mysql-db 我也访问了容器,并通过bash创build一个数据库。 我有问题连接到Java类的数据库。 我的Java方法 @Bean public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost/mydb"); dataSource.setUsername("mysql-db"); dataSource.setPassword("root"); return dataSource; } 我怎样才能连接和使用我的dockermysql数据库在Java应用程序?
我的堆栈很常见,一个用于我的Symfony应用程序的容器,另一个用于Mysql。 出于某种原因,Symfony无法连接到以下错误的Mysql容器: 致命错误:带有消息'SQLSTATE [HY000] [2002]的未捕获exception'PDOException'无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器' 一个简单的php文件来testingMySQL连接,在Symfony容器上就可以工作了 <?php $dbh = new PDO('mysql:host=database;dbname=mysite', 'mysite', 'password'); 这里是我的Symfony参数文件: database_driver: pdo_mysql database_host: database database_port: 3306 database_name: mysite database_user: mysite database_password: password 这里是我的docker-compose文件: site: build: webapp ports : – "80:80" volumes: – /home/myuser/dev/mysite:/var/www/html/ links: – database database: image: mysql:5.5 ports: – "3306:3306" environment: – MYSQL_ROOT_PASSWORD=password – MYSQL_DATABASE=mysite – MYSQL_USER=mysite – MYSQL_PASSWORD=password […]
下面的容器按照给定的configuration文件的预期工作。 但是,如果我从当前419增加innodb_log_file_size 512,那么容器无法启动。 小小的空间如何禁止容器启动? docker run -v /my/custom:/etc/mysql/conf.d -v /tmp/mydata/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc -d mysql:5.5 cat /my/custom/config-file.cnf [mysqld] #datadir=/var/lib/mysql socket=/tmp/mysql.sock user=root #innodb_force_recovery=6 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 innodb_buffer_pool_size = 2G innodb_file_per_table=1 innodb_log_file_size=419M #innodb_log_file_size=519M innodb_log_buffer_size=500K innodb_thread_concurrency=2 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
我不使用WP,也不使用PHP。 但是有时我会被要求看一下wordpress网站(我们都已经经历过这个…) 而不是安装LAMP或其他任何东西,我宁愿沙箱中的狗屎,所以我可以轻松地卸载一切完成后。 我发现docker-compose方法正如官方的wordpress docker中那样复杂。 相反,因为它仅用于开发目的,所以我宁愿有一个包含整个PHP + MySQLconfiguration的Docker,而只需要: replacewp-config.php DB_NAME , DB_USER , DB_PASSWORD和DB_HOST 导入现有数据库的SQL。 例如。 docker run mydocker /bin/mysql-import ~/Desktop/export.sql docker start mydocker –source ~/Workspace/myproject 这种方法有意义吗? 我能find什么来实现这个目的吗(如果还没有完成的话)?