Tag: mysql

将networking服务器容器连接到MySQL容器

我正在学习docker,我创build了一个持久数据库使用卷的MySQL容器,我想在docker-compose up –build过程中从Web容器连接到MySQL容器。 问题是在此期间连接总是失败。 一切完成后,我只能访问MySQL容器。 下面的build/web-server/docker-compose.yml文件中的RUN mysql -uroot -pmy-root-password -hdatabase总是失败。 我怎样才能做到这一点? 泊坞窗,compose.yml version: '3' services: database: container_name: kadu-database build: context: build/database dockerfile: Dockerfile web-server: container_name: kadu-web-server links: – database depends_on: – database build: context: build/web-server dockerfile: Dockerfile build/数据库/泊坞窗,compose.yml FROM mariadb:5.5 ARG MYSQL_DATABASE ARG MYSQL_ROOT_PASSWORD RUN apt-get update RUN apt-get install patch –assume-yes build设/ Web服务器/泊坞窗,compose.yml FROM […]

我怎样才能创build一个初始化数据库的docker图像

我想使用官方的mysql docker镜像来创build一个具有初始化数据库和导入转储文件的新镜像。 默认的命令是mysqld ,所以我不知道如何实现这一点。 有没有办法只初始化数据库和导入转储,而不启动mysql守护进程?

如何从Vagrant框连接到Docker容器中的MySQL数据库?

我有一个Symfony项目,我在3个docker集装箱中运行: 一个PHP-FPM容器 一个NginX容器 一个MySQL容器 我还有另一个(Laravel)项目正在通过预先包装的Vagrant Box设置(Homestead)。 我正在尝试从Laraval项目的Vagrant框中连接到MySQL数据库(Docker安装程序)。 我所知道的肯定是: 我可以通过Sequel Pro从我的主机连接到我的MySQL数据库。 主机:127.0.0.1 港口:3306 我不知道的是: 我应该在我的Laravel项目中定义哪个主机/端口,以便从我的Docker容器设置成功连接到MySQL数据库?

如何在Kubernetes上创build时初始化mysql容器?

我想在容器的MySQL上设置初始数据。 在docker-compose.yml中,这样的代码可以在运行容器时创build初始数据。 volumes: – db:/var/lib/mysql – "./docker/mysql/conf.d:/etc/mysql/conf.d" – "./docker/mysql/init.d:/docker-entrypoint-initdb.d" 但是,如何在运行时在Kubernetes上创build初始数据?

不能在docker集装箱MariaDB

我需要在现有的Docker容器中运行MariaDB。 build设和安装工作很好,但是当Docker执行 RUN mysql < init.sql 加载我得到的数据库模式 Can't connect to MySQL server (111 Connection refused) 但是,当我运行容器并执行 docker exec -it silly_allen /bin/bash -c "mysql < init.sql" 它工作得很好。 可能是什么问题? 谢谢! 编辑:这是与数据库相关的Dockerfile的一部分。 FROM centos:7 WORKDIR /root … RUN echo "[mariadb]" >> /etc/yum.repos.d/MariaDB.repo RUN echo "name = MariaDB" >> /etc/yum.repos.d/MariaDB.repo RUN echo "baseurl = http://yum.mariadb.org/10.1/centos7-amd64" >> /etc/yum.repos.d/MariaDB.repo RUN echo […]

如何使用compose,mysql和golang连接docker

我有一个数据库泊坞窗,我们将调用mariadb,我也有一个使用golang的web泊坞窗。 我想要做的是用compose连接两个docker,但是在我的golang代码中,我必须事先知道数据库docker的ip地址。 Golang main.go: db, err := sql.Open("mysql", "root:passsword@tcp(<should_be_database_docker_ip>:3306)/database") 泊坞窗,compose.yml version: '3' services: web: image: web_docker ports: – "8080" depends_on: – database database: image: mariadb ports: – "3306" environment: – MYSQL_ROOT_PASSWORD=password volumes: – /data:/var/lib/mysql 再次澄清,我不能简单地让主机是本地主机,因为我使用的数据库是在docker,通常是像172.17.0.2或.3但有时它会改变。 谢谢!

如何正确地将mariadb数据库从容器移动到主机

我有一个小的web应用程序在Docker容器中运行。 它使用基于官方的“mariadb”图像在同一个盒子上的另一个容器中运行的mariadb数据库。 当我第一次设置这些容器时,我使用“内部”数据库启动了mariadb容器。 我给“/ var / lib / mysql”一个卷名,但是我没有将它映射到主机上的一个目录(“-v vol-name:/ var / lib / mysql”)。 实际上,我甚至不知道为什么我给了它一个卷名。 我在几个月前就设置好了,我不确定为什么我会这样做。 无论如何,我已经得出结论,有一个数据库内部的容器是不是一个好主意。 我决定我真的需要在主机上存储实际的数据库,并使用卷映射来引用它。 我知道如何做到这一点,如果我从头开始设置,但现在应用程序正在运行,我需要将数据库移动到主机,并重新启动容器指向。 我不确定所有适当的步骤来做到这一点。 另外,我还需要使用基于相同图像的容器来设置此应用程序的第二个实例。 第二个数据库也将存储在主机上,在另一个目录旁边。 我可以用第一个备份文件初始化第二个数据库,但是我可能会在第二个实例中手动清空大部分表格。 我没有使用容器内的mysqldump转储数据库,然后我复制该备份文件到主机。 我知道如何在“docker run”中设置卷映射来将容器中的/ var / lib / mysql映射到主机上的一个位置。 在这一点上,我不确定如何处理这个备份文件,所以我可以用修改后的卷映射重新启动容器。 我知道我可以运行“mysql dbname <backup.sql”,但我不确定这会带来什么后果。

spring引导到mysqldocker通信

我创build了一个spring boot应用程序。 当我在Eclipse中运行应用程序时,我可以从浏览器中打开我的服务并获得我想要的响应。 我正在build造这个容器: FROM java:8-jre VOLUME /tmp RUN mkdir -p /conf COPY application.properties /conf/application.properties ADD target/chrisbolton_service-1.0.0.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","–spring.config.location=file:/conf/application.properties"] 我开始使用这个我的spring boot应用程序 docker run -it –name chrisbolton_service –link chrisbolton:mysql -p 8080:8080 chrisbolton_service 另外,我有mysql运行。 从docker ps你可以看到, bcb0a900b693 mysql:latest "docker-entrypoint…" 6 hours ago Up 3 hours 0.0.0.0:3306->3306/tcp chrisbolton 我读过 ,我需要链接我的容器。 但是,当我打我的端点localhost:8080/blogs我越来越 2017-08-29 […]

无法连接到后续pro客户端的MYSQL容器

我是一个docker工人的新手,并有蜜蜂努力连接到docker集装箱与续集亲。 我下载了图像docker pull mysql/mysql-server:latest 。 并执行命令来运行一个容器: docker run –name mysql-server -v /User/path/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql/mysql-server:latest 。 现在我试图连接MySQL客户端,即续集pro运行mysql的docker容器,但我得到下面的响应如下: 我遵循YouTube上的教程,也从docker的文件,但我不知道为什么我不断得到这个。

是否有可能在docker mysql运行容器以及windows 10 mysql中使用3306端口(相同的端口)

我在tomcat 7中部署我的war文件并使用以下命令启动tomcat docker run -it –rm -p 7008:8080 -v //d/docker_tomcat/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v //d/docker_tomcat/webapps:/usr/local/tomcat/webapps:rw tomcat:7.0 当tomcat启动时,它显示以下错误日志: 使用AbandonedObjectPool(org.apache.commons.dbcp.AbandonedObjectPool@9030ca2) LogAbandoned:true RemoveAbandoned:true RemoveAbandonedTimeout:90 [localhost-startStop-1]错误org.hibernate.util.JDBCExceptionReporter – 无法创buildPoolableConnectionFactory 我认为上面的错误意味着数据库studentdb不可访问 这里是我的hibernate.properties文件: – hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.username=root hibernate.connection.password=root hibernate.connection.url=jdbc:mysql://10.0.75.x<ip of docker>:3306/studentdb?autoreconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false show_sql=false hibernate.jdbc.use_streams_for_binary=false hibernate.dbcp.testOnBorrow=true hibernate.dbcp.validationQuery=SELECT 1 FROM DUAL hibernate.dbcp.testOnReturn=false hibernate.dbcp.maxWait=2000 hibernate.dbcp.testWhileIdle=true hibernate.dbcp.minEvictableIdleTimeMillis=1800000 hibernate.dbcp.timeBetweenEvictionRunsMillis=300000 hibernate.dbcp.numTestsPerEvictionRun=5 hibernate.dbcp.removeAbandoned=true hibernate.dbcp.removeAbandonedTimeout=90 hibernate.dbcp.logAbandoned=true 我认为hibernate.properties文件的hibernate.connection.url属性可能有错误。 也怀疑是因为我的Windows 10使用端口3306为MySQL以及docker也使用端口3306为MySQL。 如果是它的问题,那么我怎么能改变端口在运行在docker与一些不同的端口的MySQL容器