我运行Docker 17.09.0-ce并有一个容器叫 new-mysql 容器ID c7fee123ec9f 每次我想要使用它的时候都必须手动启动这个容器是一件很痛苦的事情,所以我想知道在系统启动的时候是否有办法做到这一点。 我不想杀这个容器,因为它完美的工作,我只是想调整设置,以便在系统启动时自动启动(或当Docker启动时)。
我在Windows 10 Home中使用docker toolbox v17.03。 我拉最新的MySQL服务器,并运行容器。 > docker image pull mysql:latest > docker container run –detach –name=test-mysql –env="MYSQL_ROOT_PASSWORD=mypassword" mysql > docker logs test-mysql 我能够看到MySQL运行。 然后,我转移到Sql客户端,并使用ipaddress(由docker-machine ip给出)。 我得到访问被拒绝。 我也尝试了从docker检查test-mysql的ip地址,结果相同) 不知道这里有什么问题吗?
我遇到了以下Dockerfile的一些问题: FROM php:7.0-apache RUN a2enmod rewrite RUN docker-php-ext-install pdo pdo_mysql COPY php.ini /usr/local/etc/php/ COPY . /var/www/html/ 我正在使用Slim PHP框架并尝试连接到数据库,但返回了以下错误: HTTP/1.1 500 Internal Server Error Content-Type: text/html {"error": {"text": SQLSTATE[HY000] [2002] Connection refused} 以下是引发exception的代码: // Instantiate a database connection $container['db'] = function ($c) { try { $db = $c['settings']['db']; $pdo = new PDO("mysql:host=" . $db['host'], $db['user'], $db['pass']); […]
我将使用MySQL进行集成testing,并且希望使用运行我们的testing所需的最低设置来创build预先映射的映像。 这意味着一些自定义函数,创build我们的数据库,用户设置等(我们称之为图像X)。 我想要做的是,当每个集成testing开始时,我想用最小的设置来运行一个新的X实例。 使事情复杂化的是,我正在使用官方的mysql Docker镜像,它使用了一个数据卷,这样我在创buildX时所做的更改就不会存储在Docker docker commit ,因此在将镜像推送到registry时不会将其包含在内。 解决方法afaik将安装MySQL数据卷并将其存储在某处。 但在我看来,这使事情复杂化了很多。 现在,我不仅需要拖动mysql映像,还需要在某个地方下载(并维护)数据卷备份,并在每次集成testing之前将其应用于容器。 有没有更好的方法来解决这个问题? 数据容器会有帮助吗?
我拉的MySQL / MySQL服务器的形象,然后我执行下面的命令: docker run –name myapp -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql/mysql-server docker exec -it myapp bash 在此之后,我在新创build的myapp容器中安装jdk和tomcat,然后退出shell并运行: docker commit myapp myappwithjdk 然后我运行以下,但容器立即退出: docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -d myappwithjdk 我不知道为什么这样做。
我有一个在Docker中运行的Rails应用程序。 我想在一个单独的容器中运行MySQL并连接两个。 我docker-compose.yml文件如下所示: # docker-compose.yml db: image: "mysql:5.6" ports: – 3306 environment: MYSQL_ROOT_PASSWORD: pass MYSQL_DATABASE: dbname MYSQL_USER: user MYSQL_PASSWORD: pass web: build: . ports: – "80:80" env_file: – .env.development links: – db volumes: – "/webapp:/home/app/webapp" 当我运行docker-machine ip default我得到192.168.99.100 。 当我运行docker ps我看到mysql在PORT: 3306/tcp, 0.0.0.0:32782->32781/tcp : 3306/tcp, 0.0.0.0:32782->32781/tcp上运行编辑:删除mysql容器并重新启动它后,端口实际上是0.0.0.0:32784->3306/tcp 我正在使用Sequelgem,并使用以下参数连接到我的分贝: Sequel::Model.db = Sequel.connect(adapter: 'mysql2', database: 'dbname', user: 'user', […]
我正在尝试使用Docker Compose来设置两个MySQL容器和一个数据专用容器来保存MySQL数据。 这里是docker-compose.yml: db1: image: mysql volumes_from: – data environment: – MYSQL_ROOT_PASSWORD=password db2: image: mysql volumes_from: – data environment: – MYSQL_ROOT_PASSWORD=password data: image: mysql volumes: – /var/lib/mysql entrypoint: /bin/echo 但是,这两个mysql守护进程都有冲突,因为它们需要一个单独的数据目录: [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files. [ERROR] InnoDB: Unable to lock […]
我怎样才能让这个docker的mysql数据库,从“外部”可以达到 – 这意味着我可以连接到数据库pipe理工具,例如在端口3306上: wordpress: build: /Users/FabianL/wp-docker/ container_name: "kr-wp-container" links: – db:mysql ports: – 8080:80 – 3306:3306 db: image: mysql environment: MYSQL_ROOT_PASSWORD: biersaufen
这个问题类似于: 在Dockerfile中设置MySQL并导入转储 但是这个问题的答案没有解决我的使用案例。 我有一个MySQL数据库,在生产中有5TB的数据。 对于Dev,我只需要大约500MB的数据。 作为构build应用程序的一部分运行的集成testing需要访问MySQL数据库。 目前,正在Jenkins上创build数据库,并且正在通过构build过程将数据注入到数据库中。 这很慢。 我想用Dockerreplace这个过程的这一部分。 我的想法是,我将有一个运行MySQL的Docker容器,并且已经将500MB的数据放入容器,而不是依赖与容器启动时仅执行MySQL导入的MySQL Docker镜像关联的标准进程。 根据迄今为止的testing,标准过程需要4-5分钟,因为我希望将其降低到秒。 我原以为这将是一个常见的用例,但是在MySQL Docker容器中预烘焙数据似乎被忽视了,而且没有任何指导。 这个方法。 有没有人有这方面的经验? 数据是不是应该预先存入MySQL Docker容器中有一个很好的理由吗?
我只是在学习Docker的基础知识,但是从本地系统导入SQl文件就陷入困境。 我在Windows 10上,并允许我的docker容器访问我的共享驱动器。 我有一个位于D上的SQL文件,我想导入到我从docker中心获得的Maria DB的基础映像。 我find了一个命令来安装这个sql文件在我的图像上,并试图从容器sql命令提示符中直接导入图像,但得到一个无法打开文件错误。 下面是我已经尝试过的两种方法,但我在哪里存储我的SQL转储,我如何导入它? 方法1通过mysql命令行尝试 winpty docker run -it –link *some-mariadb*:mysql –rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' 然后 use *database-created* // previously created 然后 source d:/sql_dump_file.sql 方法2 docker exec -i my-new-database mysql -uroot -pnew-db-password –force < d:/sql_dump_file.sql 更新5/12/2016 所以在玩了一个令人失望的周末之后。 我目前将驱动器更改为C:驱动器,因为似乎有一些未知的问题,我不能debugging使D:驱动器工作。 然后我find了inspect命令来查看哪些卷被安装到一个容器。 我有以下,但我不能导入到SQL,因为它说文件不存在,但它清楚地表明,在docker,它是在那里和装载,SQL文件是在map_me文件夹。 我在C的主目录下创build了一个名为map_me的文件夹: docker inspect dbcontainer "Mounts": [ […]