Tag: mysql

Docker | 无法到达ssh隧道MySQL,表丢失

我试图连接到我的本地端口3306持有MySQL数据库,我已经通过SSH隧道。 我可以通过Heidi连接到这个,但是当尝试使用docker容器/卷时,即使它成功连接到数据库,那里只有一个是INFORMATION_SCHEMA ,它缺less一些我需要的。 我想知道,我怎样才能将本地3306转发到Docker容器/卷,以便我从Docker访问? 这是我目前docker-compose.yml version: '3' services: cms: build: . volumes: – c:\projects\cms:/var/www links: – db db: image: percona:latest volumes: – db:/var/lib/mysql ports: – '3306:3306' 卷:db:external:name:db 我也使用db作为DB_HOST

Docker访问主机上的MySQL与PHP艺术家迁移和拒绝访问 – 实际上在networking层面上发生了什么?

我想知道是否有人可以很清楚地解释在networking层面上发生了什么,我有这里的所有组件,以便我可以理解当我排除这些types的问题时,发生了什么事情:) 我有一个mac。 我安装了Docker(boot2docker)。 我开始了docker机。 我有一个mysql docker镜像,我已经在docker机器上启动了。 我有MySQL的工作台。 我有一个指令将工作台连接到我的docker机器的mysql映像中的mysql。 它失败。 (我使用docker机IP)。 我有一个PHPdocker的形象。 在这个PHP图像中,我需要运行“PHP技工迁移”,这不能连接到数据库与PDO例外 – 访问被拒绝。 和一些随机的IP我不能在错误信息中识别。 所有这些层和IP和networking的东西究竟如何融合在一起? 错误信息中的随机IP从何而来? 我知道这里也有一个虚拟的盒子。 请有人可以向我解释这一切吗?

InnoDB:试图用innobackupex打开以前打开的表空间

Innobackupex和Docker 我想用innobackupex 2.4.8克隆MySQL 5.6从站。 从站在docker MySQL5.6容器内部运行。 innobackupex工具ist在主机上启动,并将DSNstring提供给工具以及主机上此容器的数据目录。 stream式备份 数据库非常大(60GB),主机空间有限。 我想将这些数据移动到一个有更多空间的新主机上。 出于这个原因,我通过SSH将备份stream式传输到新的主机,然后最终运行一个新的docker容器与复制的数据。 备份第一次正常工作。 但是当第二次运行时,我收到以下错误: InnoDB: Attempted to open a previously opened tablespace. Previous tablespace test_db/Cars at filepath: ./test_db/Cars.ibd uses space ID: 3. Cannot open filepath: ./mysql/slave_relay_log_info.ibd which uses the same space ID. Innobackupex司令部 这是我使用的命令 sudo innobackupex –slave-info –safe-slave-backup \ –user=root –host=127.0.0.1 –port=3306 –protocol=TCP \ –datadir=/var/lib/docker/volumes/mysqlslave_data/_data \ […]

在同一主机上的两个容器之间的通信

我必须设置一个testing环境,我有一个Web应用程序容器和一个MySql容器。 Web应用程序连接到MySql DB来获取一些数据来显示。 我已经写了一个泊坞窗撰写文件,当我执行它创build2个容器在同一个桥梁networking,但仍然无法从Web应用程序容器访问数据库。 我正在AWS EC2 Amazon Linux机器上运行此操作。 尽pipe我可以使用相同的用户凭据从服务器连接到数据库。 version: '2' services: consul: image: "gliderlabs/consul-server" command: "-server -bootstrap" hostname: consul container_name: consul ports: – "8400:8400" – "8500:8500" – "172.17.0.1:53:8600/udp" networks: – my_net registrator: image: "gliderlabs/registrator" command: "-internal consul://172.17.0.1:8500" container_name: registrator hostname: registrator volumes: – /var/run/docker.sock:/tmp/docker.sock depends_on: – consul networks: – my_net db: image: "mysql:5.5" container_name: […]

由于liquibase changelog错误,keycloak不会启动

努力去看看这是怎么回事。 我们有一个持有mysql和keycloak-mysql的Docker栈,事实上,如果我检查mysql服务器,我可以在keycloak数据库中看到自动创build的表。 麻烦的是,服务只是由于错误而自行重启; 日志说: keycloak_keycloak.1.bx6j41c43w6w@virt-b | Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set META-INF/jpa-changelog-1.9.0.xml::1.9.0::mposolda@redhat.com: keycloak_keycloak.1.bx6j41c43w6w@virt-b | Reason: liquibase.exception.DatabaseException: Can't DROP 'FK_93S3P0DIUXAWWQQSA528UBY2Q'; check that column/key exists [Failed SQL: ALTER TABLE keycloak.REALM_CLIENT DROP FOREIGN KEY FK_93S3P0DIUXAWWQQSA528UBY2Q] keycloak_keycloak.1.bx6j41c43w6w@virt-b | at liquibase.changelog.ChangeSet.execute(ChangeSet.java:584) 具有自我pipe理数据库模式的服务如何以这种方式失败? 我错过了什么? 编辑:我已经删除了数据库(实际上抹去了MySQL的数据文件夹),并重新启动一切。 现在,我在变更logging历史logging中看到另一个liquibase错误,显然稍早。 我创造了一系列的要点: Docker文件(堆栈): https : //gist.github.com/jmkgreen/b79f95c3eca2eac3fb66c66d12017f07 MySQL日志: https : //gist.github.com/jmkgreen/75b99fe98cf1d16a99895e78dae47cce 初始KeyCloak日志崩溃: https ://gist.github.com/jmkgreen/96285800949b5c4f62c31caa3eba27ef […]

Docker容器运行asynchronous

我需要在我的应用程序中开发docker,我用maven-docker-plugin创builddocker图像。 之后,我运行sh脚本白衣在这里。 docker run –name app-mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=app -d mysql docker run –name app -p –link app-mysql:localhost -d app docker run –name app-nginx -d -p 80:80 –link app:app nginx docker exec app-nginx rm -rf /etc/nginx/conf.d/default.conf docker cp app:/default.conf default.conf docker cp default.conf app-nginx:/etc/nginx/conf.d/default.conf docker restart app-nginx 但是我有一个问题。 第一个MySQL容器运行良好。 其次,应用容器运行良好。 但是nginx容器抛出错误: docker: Error response […]

Windows数据持久性的Docker – 主机映射与数据卷

我对Docker非常陌生,在阅读了关于数据量之后,我仍然对我所看到的行为感到困惑。 在我的撰写文件中,我有一个像这样的mysql的条目: db: image: mysql restart: always volumes: – ./database:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: p4ssw0rd! networks: – back 这将/ database目录映射到/var/lib/mysql 。 创build的数据库文件,我可以启动Wordpress,安装,添加一个post。 这个问题,因为它从来没有坚持任何创build的数据。 如果我重新启动Docker并执行: docker-compose up -d 数据库是空的。 将其更改为: db: image: mysql restart: always volumes: – db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: p4ssw0rd! networks: – back 并添加一个这样的音量: volumes: db_data: 现在将数据保留在Docker数据卷中并重新启动。 在上次运行过程中创build的任何数据仍然存在。 我如何得到这个工作使用主机映射目录? 我正确地思考使用卷的第二个例子是要走的路吗?

在FROM之后,Dockerfile不会更改RUN

所以我有一个像这样的docker文件: FROM php:5.6-apache RUN apt-get update RUN apt-get -y install php5-mysql RUN a2enmod rewrite RUN service apache2 restart 然后是一个docker工人,就像这样 version: '2' services: apachephp: build: . ports: – '8081:80' – '443:443' volumes: – '~/dev/test/backend:/var/www/html' 一切正常,除了php-mysql插件和重写apache模块。 任何想法,我怎么能使这个工作? 谢谢。-

Docker mySql:5.7没有运行

我是Docker的初学者。 我跟着一个教程,并添加docker-compose.yml文件。 该文件看起来像这样 – version: '2' services: webserver: build: ./docker/webserver image: image_name ports: – "80:80" – "443:443" volumes: – /Users/user_name/Sites/project_name:/var/www/html links: – db db: image: mysql:5.7 ports: – "3306:3306" volumes: – ./db:/usr/local/mysql/bin/mysql environment: – MYSQL_ROOT_PASSWORD= – MYSQL_DATABASE=DB_NAME 我能够在web上运行本地主机地址的项目,但连接到MySQL是不行的。 当我在terminal(我正在使用Mac)上运行“docker ps -a”时,mysql的状态为 – 退出(1)16秒前,端口为空。 任何想法/帮助?

liquibase脚本通过maven进行集成testing,在docker中运行

正如标题所说,我试图find一种方法来运行liquibase脚本,我们已经从maven的新鲜的mysql docker图像运行集成testing。 到目前为止,我只findmaven插件来运行我的docker容器,并且设法从我需要的其他项目中将liquibase xmls和sqls拖到当前的项目中。 <plugin> <groupId>org.jolokia</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.13.9</version> <configuration> <useColor>true</useColor> <verbose>true</verbose> <removeVolumes>true</removeVolumes> <images> <image> <name>mysql:5.7.9</name> <run> <env> <MYSQL_ROOT_PASSWORD>${mypassword}</MYSQL_ROOT_PASSWORD> </env> <ports> <port>3306:3306</port> </ports> <volumes> <bind> <volume> ${project.build.testOutputDirectory}/db-scripts:/tmp/import:ro </volume> </bind> </volumes> </run> </image> </images> </configuration> <executions> <execution> <id>start</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> </execution> <execution> <id>stop</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> 但是我仍然在努力寻找一种方法,在所有集成testing之前,如何将所有这些脚本应用到docker中运行的数据库上。 有人可以请你澄清一下这个问题。 谢谢 UPD:find了liquibase maven插件,但是仍然面临mysql […]