Tag: mysql

django无法在docker-compose中连接mysql

我对docker非常陌生,现在我想通过docker-compose在Docker中运行django,但是我总是得到这个错误: 我使用Docker version 17.09.1-ce, build 19e2cf6 , Docker version 17.09.1-ce, build 19e2cf6 docker-compose version 1.18.0, build 8dd22a9 django.db.utils.OperationalError:(2003,'无法连接到'mariadb55'(111“连接被拒绝)”)上的MySQL服务器 运行后,我可以正确地连接数据库docker-compose up db在本地或远程docker-compose up db ,我甚至可以在anaconda虚拟环境中正确运行python manage.py runserver 0.0.0.0:6001 ,通过设置参数settings.py在docker中连接db服务文件如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'belter', # 'HOST': 'mariadb55', 'HOST': '127.0.0.1', 'PORT': '3302', 'PASSWORD': 'belter_2017', 'default-character-set': 'utf8', 'OPTIONS': { 'sql_mode': 'traditional', } […]

延迟厨师,直到资源完成其任务

我有一个厨师的食谱,带来了一个MySQLdocker容器,然后,如果通过一些逻辑,连接到它加载一些数据库条目。 问题是,它总是首先运行失败,因为在mysql容器启动并准备好接受连接之前,它会继续负责恢复数据的资源。 下面是容器的配方部分: docker_container 'imhere-mysql' do hostname mysqlHost repo 'lutraman/imhere' tag 'mysql' env ["MYSQL_ROOT_PASSWORD=#{mysql_password}"] volumes [ '/var/imhere/mysql:/var/lib/mysql' ] action :run end 这是恢复的部分: remote_file "#{parent_data_dir}/#{db_restore_filename}" do source "#{db_restore_url}/#{db_restore_filename}" notifies :run, 'execute[mysql_load_dump]' end execute "mysql_load_dump" do command "#{scripts_dir}/mysql_restore_dump.sh" environment( 'MYSQL_HOSTNAME' => mysqlHost, 'PARENT_DATA_DIR' => parent_data_dir, 'DB_RESTORE_FILENAME' => db_restore_filename, 'MYSQL_PASSWORD' => mysql_password, 'RETRIES' => "10" ) action :nothing […]

Docker PHP MySQL连接被拒绝

我想运行一个站点使用多个容器configuration – 一个用于Apache,第二个用于MySQL,第三个用于myadmin。 一切都开始好,安装程序运行顺利,但是当我尝试运行一个PHP应用程序,我得到mysqli::__construct(): (HY000/2002): Connection refused in system/libraries/drivers/Database/Mysqli.php [54]错误。 似乎连接设置有问题,但是我通过在单独的容器上运行的PHP MyAdmin检查了站点,并从那里复制了数据库主机IP,以确保它是正确的。 我如何/我应该从PHP容器连接到MySQL数据库? 这是我docker-compose.yml文件: version: '3' services: web: build: context: ./etc/php args: – APP_HOST=${APP_HOST} – MYSQL_USER=${MYSQL_USER} – MYSQL_PASSWORD=${MYSQL_PASSWORD} – MYSQL_PORT=${MYSQL_PORT} – MYSQL_DATABASE=${MYSQL_DATABASE} ports: – ${APP_PORT}:80 – ${APP_PORT_SSL}:443 volumes: – ./var/bin/:/tmp/bin/ – ./app/:/var/www/html/ – ./log/apache2/:/var/log/apache2/ – ./etc/php/conf/:/usr/local/etc/php/conf.d/ environment: – VIRTUAL_HOST=${VIRTUAL_HOST} db: build: context: ./etc/mysql args: – […]

无法使用mysqlclient从docker连接

我试图连接到我的mysql容器,但每当我尝试运行mysql -uroot -p我总是得到bash: mysql: command not found但mysql已经安装在docker容器中,当我尝试运行pip3 freeze我得到这个结果 alembic==0.9.6 appdirs==1.4.3 bcrypt==3.1.4 certifi==2017.11.5 cffi==1.11.2 chardet==3.0.4 click==6.7 elasticsearch==5.5.1 flasgger==0.8.0 Flask==0.12.2 Flask-Cors==3.0.3 gevent==1.2.2 greenlet==0.4.12 idna==2.6 iso3166==0.8 itsdangerous==0.24 Jinja2==2.10 jsonschema==2.6.0 Mako==1.0.7 MarkupSafe==1.0 mistune==0.8.3 mock==2.0.0 mysqlclient==1.3.12 packaging==16.8 pbr==3.1.1 pybuilder==0.11.12 pycparser==2.18 pycrypto==2.6.1 pyparsing==2.2.0 python-dateutil==2.6.1 python-editor==1.0.3 PyYAML==3.12 redis==2.10.6 requests==2.18.4 six==1.11.0 SQLAlchemy==1.2.0 tblib==1.3.2 ujson==1.35 urllib3==1.21.1 validate-email==1.3 Werkzeug==0.13 正如你可以看到mysqlclient安装。 如果我尝试检查是否可以在我的泊坞窗内使用ping访问mysql容器。 它工作正常,我能够得到回应。 我怎么现在连接,因为它说bash: mysql: command […]

如何启动mysql并为docker容器设置mysql root密码?

我试图通过docker托pipe一个web服务器。web服务器需要mysql数据库。但是我无法改变mysql的root密码,也启动mysql和apache2服务。 那么有人可以帮我设置root密码并开始启动服务。 这里是我尝试设置docker集装箱。 FROM ubuntu:16.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get install apache2 RUN apt-get -q -y install mysql-server CMD service mysql start

dockerfile – 无法连接错误

所以这是我必须做的:我需要使用docker自动设置一些容器。 其中一个是谎言:Debian Squeeze与有限的CPU份额和有限的内存(1个CPU共享和512 MB内存),预装apache2,build设必不可less的,PHP5,MySQL服务器5.5,openssh服务器和一些端口打开8000为Apache和1500为MySQL)。 所以我创build了以下dockerfile: FROM debian:squeeze MAINTAINER Name < email : > # Update the repository sources list RUN apt-get update # Install apache, PHP, and supplimentary programs. curl and lynx-cur are for debugging the container. RUN DEBIAN_FRONTEND=noninteractive apt-get -y install apache2 build-essential php5 mysql-server openssh-server libapache2-mod-php5 php5-mysql php5-gd php-pear php-apc php5-curl curl lynx-cur […]

如何使用正式的Docker镜像启用MySQL二进制日志logging?

使用官方的mysql映像启用二进制日志的最好方法是什么? 我已经尝试使用mysql:5.7映像,在运行它时也覆盖了命令,还要通过启动选项启用二进制日志logging到mysqld(请参见下文)。 这种方法的问题是,mysql用户没有权限写入/var/log/mysql目录。 运行命令: docker run -d \ –name mysql \ -v /var/lib/mysql:/var/lib/mysql \ mysql:5.7 \ mysqld \ –datadir=/var/lib/mysql \ –user=mysql \ –server-id=1 \ –log-bin=/var/log/mysql/mysql-bin.log \ –binlog_do_db=test 输出: mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 2 – No such file or directory) 我应该分叉存储库,并为/var/log/mysql添加一个用户可以写入并创build一个自定义图像的卷,还是有更好的方法来做到这一点? 这可能只使用官方的MySQL镜像?

使用Docker的MySQL设置

我试图创build一个设置,当我做一个“docker运行”我已经创build一个Dockerfile,docker将安装和设置MySQL,然后创build一个数据库供我使用。 下面是我从现有的dockerfile / mysql中提取的简单的docker文件 FROM dockerfile/mysql COPY dbsetup.sql /tmp/dbsetup.sql RUN bash -c "/usr/bin/mysqld_safe &" && \ sleep 5 && \ mysql -u root -e "CREATE DATABASE mydb" 它似乎运行,但是当我连接到数据库(使用我从boot2docker ip命令收到的boot2docker ip ),数据库不存在。 有人有主意吗? 注意:我最初尝试在单独的RUN语句中运行所有这三个命令,但是这并不起作用。 为什么在这里解释。

Docker:这个(不)工作?

我正在尝试创build一个运行sql server的docker镜像。 为此,我在Windows机器上执行了以下步骤。 运行一个mysql容器将一个init文件复制到虚拟机中(不确定这一步是否真的有必要): docker run -i centurylink/mysql /bin/bash -c 'cat > table.sql' < /c/Users/bastian/Documents/docker/table.sql 从结果容器中创build一个图像: docker commit ID mysql/with-table 运行映像以初始化数据库: docker run -d -it -p 3306:3306 -v /c/Users/bastian/Documents/docker/mysql:/mysql -e MYSQL_DATABASE='google' -e MYSQL_USER='foo' -e MYSQL_PASSWORD='bar' MYSQL_ROOT_PASSWORD='xxx' mysql/with-table 现在我有以下的问题: 当我执行docker inspect ID3 ,输出包含命令: "Cmd": [ "/bin/bash", "-c", "cat \u003e table.sql" ] 这是否意味着复制命令执行,而不是MySQL服务器? 我如何看到哪个命令将被实际执行? 如果我尝试连接到主机上的mysql服务器: $ boot2docker […]

不能删除docker主机上的文件

我正在使用下面的shell脚本在入口点提取我的数据库并启动容器。 #!/bin/bash if [ ! -d "/var/lib/mysql/assetmanager" ]; then tar -zxvf mysql.tar.gz fi exec /usr/bin/mysqld_safe 在启动时,我使用-v参数将本地目录挂载到/ var / lib / mysql目录,然后使用上面的脚本解压缩文件。 但现在我无法删除我的主机上提取的文件,因为权限被拒绝错误。 有人可以帮我解决这个问题。 谢谢