Tag: mysql

docker的mysql不能连接到容器

我有docker-compose文件来创buildmysql映像并将端口暴露给3306,但是当我尝试安装CMS时,它给了我错误,它无法连接到数据库。 我试图扫描端口3306,它显示它已经打开,所以mysql正在运行。 为什么两个docker集装箱不能看到对方? 这是我的docker-compose文件: phpfpm: restart: always extends: file: php-fpm-5.6.yml service: phpfpm links: – db:db nginx: restart: always image: nginx ports: – "8000:80" links: – phpfpm:phpfpm volumes: – ./nginx/vhost.conf:/etc/nginx/conf.d/default.conf – ./app:/var/www/html – ./log/nginx:/var/log/nginx db: restart: always image: mysql ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_DATABASE: database

在Docker中保留MySQL数据

我是Docker的新手。 我用下面的Dockerfile成功创build了一个Docker 镜像 : From alpine:3.4 MAINTAINER SomeName – domain.tld # Timezone ENV TIMEZONE Asia/Kolkata # RUN sed -i 's#dl-cdn\.alpinelinux\.org#mirrors\.aliyun\.com#' /etc/apk/repositories # install mysql, apache and php and php extensions, tzdata, wget RUN echo "@community http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ apk add –update \ mysql mysql-client \ apache2 \ curl wget \ tzdata \ php5-apache2 […]

如何将stdout从docker容器redirect到主机

我试图从主机系统调用docker的mysqldump保存从golang的mysql转储。 它可以与主机mysqldump正常工作,但不能与docker的mysqldump一起工作。 func writeDb(dbName string) { var mysqldumpPath string = "/usr/bin/mysqldump" //var mysqldumpPath string = "/Applications/MAMP/Library/bin/mysqldump" //cmd := exec.Command(mysqldumpPath, fmt.Sprintf("-u%s", USER), fmt.Sprintf("-p%s", PASSWORD) , dbName) cmd := exec.Command("docker", "exec", "some-mysql", mysqldumpPath, fmt.Sprintf("%s", USER), fmt.Sprintf("-p%s", PASSWORD) , dbName, ">", fmt.Sprintf("%s.sql", dbName)) stdout, err := cmd.StdoutPipe() if err != nil { log.Fatal(err) } if err := cmd.Start(); […]

将docker容器连接到本地工作台MySQL DB

您好我有我的web应用程序运行在我的本地计算机上,并连接到mysql工作台,我现在试图dockerize webapp。 我似乎无法得到它连接到我的本地开发机器上的数据库(我正在运行Docker的Windows),任何人都可以告诉我,我会如何去做这件事。 这是我到目前为止。 `docker run -it -e "CATALINA_OPTS=-Dspring.profiles.active=dev -DPARAM1=DEV" -p 8080:8080 -p 8005:8005 -p 8009:8009 -p 3306:3306 –add-host=docker:192.168.1.7 -v C:\myapp\trunk\target\myapp.war:/usr/local/tomcat/webapps/myapp.war –name waitapp tomcat:8.0.38-jre8` 几秒钟之后,我运行docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2a1764dd9640 tomcat:8.0.38-jre8 "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:3306->3306/tcp, 0.0.0.0:8005->8005/tcp, 0.0.0.0:8009->8009/tcp, 0.0.0.0:8080->8080/tcp waitapp 容器似乎在运行,但我得到一个404没有find当我尝试其余的请求,这是一样的,当我从内部使用内置的tomcat服务器的spring工具套件运行。 注:我不想运行一个单独的mysql容器,并通过networking链接两个,我只想尝试让我新创build的docker应用程序连接到我的本地数据库MySQL。

将Rails / Unicorn / Nginx容器连接到MySQL容器

关于这个线程,我试图创build2个容器:1与rails应用程序,另一个与MySQL数据库,但我不断得到Mysql2::Error (Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'在我的应用程序production.log文件中,当我点击容器的IP http://192.168.59.103 当我启动rails容器时,我试图链接它们,如果指定了错误的MySQL名称,会发生错误。 我错过了什么成功链接容器,以便完整的应用程序在容器中运行? Rails容器命令 docker run –name games-app –link test-mysql:mysql -p 8080 -d -e SECRET_KEY_BASE=test sample_rails_games_app Here are my files: Dockerfile # Publish port 8080 EXPOSE 8080 CMD ["bundle", "exec","unicorn", "-p", "8080"] CMD ["bunde", "exec", "rake", "db:migrate"] Rails的database.yml(开发和testing是相同的生产) default: &default adapter: mysql2 encoding: utf8 pool: […]

如何减lessdocker集装箱的内存消耗?

我在内存为768M的Vultr VPS上运行一个golang容器和一个mysql容器。 他们是从官方图像build立,没有太多的工作。 而767M内存是不够的,“致命错误:运行时:内存不足”的错误。 (1)这是正常的? 唯一的解决办法是增加VPS内存? (2)这是不正常的? 我应该做一些设置来控制或减less内存消耗? (3)如果使用–memory =“”来控制内存消耗,如果达到内存上限将会发生什么?

如何将mysql工作台连接到docker中运行mysql?

我在泊坞窗容器内使用mysql服务器,并能够访问泊坞内。 如何在我的本地(主机)上运行的mysql工作台上创build连接。

使用dockerfile在mysql中创build一个默认的数据库

我使用这个tutum-docker-mysql dockerfile来启动并运行一个docker镜像,并在其中安装了mysql, docker文件创build一个名为root并且没有密码的用户,我需要的是把这样的东西添加到dockerfile: RUN mysql -uroot -p"" && mysql create database test; 所以当我从docker文件build立一个图像时,数据库应该已经在那里了。

无法连接到通过docker-compose创build的MySQL docker容器

我想开始使用docker,并创build一个简单的容器环境,包含一个nginx容器,一个PHP-FPM容器和一个MySQL容器。 虽然nginx和PHP-FPM容器之间的链接工作得很好,但我似乎无法将PHP应用程序服务器与数据库服务器连接起来。 我使用docker-compose来最小化手动terminal工作。 我的docker-compose.yml如下所示: web: image: tutorial/nginx ports: – "8080:80" volumes: – ./src:/var/www – ./src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf links: – php php: image: nmcteam/php56 volumes: – ./src/php-fpm.conf:/etc/php5/fpm/php-fpm.conf – ./src:/var/www links: – db db: image: sameersbn/mysql volumes: – /var/lib/mysql environment: – DB_NAME=demoDb – DB_USER=demoUser – DB_PASS=demoPass 虽然我尝试使用以下语句连接到数据库: $db = new \PDO('mysql:host=db;dbname=demoName', 'demoUser', 'demoPass'); MySQL容器本身正在工作,因为我可以连接到容器bash并使用MySQL CLI: mysql> show databases; +——————–+ […]

docker-entrypoint-initdb中的MySQL脚本不会被执行

我正在尝试创build多个数据库,当一个MySQL容器启动。 根据https://github.com/docker-library/mysql/pull/18 ,我可以在映像的/docker-entrypoint-initdb.d中挂载或复制我的脚本,它们将在启动时自动执行。 但是我的脚本根本不能执行。 看起来像docker-entrypoint.sh没有看到/docker-entrypoint-initdb.d目录中的文件。 这是我的Dockerfile: FROM mysql ADD script.sql /docker-entrypoint-initdb.d/script.sql RUN chmod -R 775 /docker-entrypoint-initdb.d ENV MYSQL_ROOT_PASSWORD mypass 这是我的script.sql : CREATE DATABASE mydb; CREATE DATABASE mydb2; 我build立并运行容器: $ docker build -t mysql . $ docker run -v data_volume:/var/lib/mysql –name somedb -d mysql 当我在tty中访问容器时,我可以看到script.sql在/docker-entrypoint-initdb.d但是没有被执行。 我已经看到docker logs -f somedb输出,但没有错误。 我用.sh文件试过,我也用Maria-db尝试过,结果是一样的。 可能是什么问题呢?