我想运行集成testing(在Python中),这取决于MySQL。 目前他们依赖于本地运行的SQL,但是我希望他们依赖于在docker中运行的MySQL。 Dockerfile的内容: FROM continuumio/anaconda3:4.3.1 WORKDIR /opt/workdir ADD . /opt/workdir RUN python setup.py install Docker组件的内容: version: '2' services: mysql: image: mysql:5.6 container_name: test_mysql_container environment: – MYSQL_ROOT_PASSWORD=test – MYSQL_DATABASE=My_Database – MYSQL_USER=my_user – MYSQL_PASSWORD=my_password volumes: – db_data:/var/lib/mysql restart: always expose: – "3306" my_common_package: image: my_common_package depends_on: – mysql restart: always links: – mysql volumes: db_data: 现在,我尝试使用以下命令在我的包中运行testing: docker-compose […]
我想从MySQL容器内的主机挂载一个目录,以便mysql将其日志写入该目录,我将能够从主机访问这些日志。 为此,我使用以下卷configuration: volumes: – ./logs/mysql:/var/log/mysql 但正如在这个答案中指出的,主机用户和容器用户之间存在许可问题。 那里的解决scheme是使用命名卷,但我想要的是在方便的目录中访问主机上的这些日志。 不在docker的内部目录里面。
我正在尝试安装mysql以在docker容器中运行。 我有一个简单的泊坞窗撰写文件: – db: image: mysql:latest ports: – "3306:3306" environment: – MYSQL_RANDOM_ROOT_PASSWORD=yes 当我运行docker-compose文件时,在Docker日志中出现以下警告,而不是随机生成的密码。 [警告] root @ localhost是使用空密码创build的! 请考虑closures–initialize-insecure选项。 有什么我失踪?
文件结构: APP ├─ API │ └─ Dockerfile.yml ├─ db │ └─ storage └─ docker-compose.yml 我还没有数据库的地方: Dockerfile.yml: # Base node image FROM node:8.2.1 # ON DOCKER CONTAINER WORKDIR /API # Install nodemon to monitor changes to the app. RUN npm install -g nodemon COPY package.json /API/package.json RUN npm install && npm ls RUN mv /API/node_modules /node_modules […]
例如,我在docker上创build了networking docker network create hello-rails 然后,我有连接到这个networking的mySQL docker run -p 3306 -d –network=hello-rails –network-alias=db -e MYSQL_ROOT_PASSWORD=password –name hello-rails-db mysql 而且,我也有轨服务器,这也依赖于这个networking docker run -it -p 3000:3000 –network=hello-rails -e MYSQL_USER=root -e MYSQL_PASSWORD=password -e MYSQL_HOST=db –name hello-rails benjamincaldwell/hello-docker-rails:latest 我想用YAML文件在这两个容器的kubernetes上编写部署。 但是我不知道如何把networking里面的containers放在文件里。 你有什么build议?
我试图通过MySQL工作台连接到Docker容器上的数据库,但我不确定我应该插入到以下字段中: SSH主机名(尝试localhost:3306&8001和0.0.0.0:3306&8001)SSH用户名 MySQL主机名:留作127.0.0.1 MySQL服务器端口:3306 我的数据库名称,用户名和密码都是“magento”。 猜测这只是SSH信息是不正确的。 有人可以帮忙吗? Docker PS结果 由于我正在进行的项目,公司和客户名称已被删除 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 25da671f766d mageinferno/magento2-nginx:1.11-1 "/usr/local/bin/st…" 5 hours ago Up 4 hours 443/tcp, 0.0.0.0:8080->80/tcp CLIENTaws_app_1 f1f7fb0e7174 COMPANY/magento2-php:7.0-fpm "docker-php-entryp…" 5 hours ago Up 4 hours 9000/tcp CLIENTaws_phpfpm_1 69388c2ce5c7 percona:5.7 "docker-entrypoint…" 5 hours ago Up 4 hours 0.0.0.0:8001->3306/tcp CLIENTaws_db_1
我从Docker Hub中提取了一个MYSQL镜像,并通过设置必要的凭据(如用户名,密码等)来运行它。然后我通过以下方式检查了容器: docker inspect CONTAINER_ID 在那里我得到了MySQL数据库的IP地址。 由于Docker deamon通过桥接networking连接,我的IP地址是:172.17.0.2。 通过指定这个IP,我可以从主机(Fedora)连接到数据库。 但是,如何从同一局域网中的另一台机器连接到MySQL数据库?
我在本地开发的Docker容器中运行MySQL 8.0。 Web容器可以连接到MySQL就好了。 当试图从Sequel Pro访问我的数据库时,容器给我一个错误, db_1 | mbind: Operation not permitted 应该注意的是,与MySQL Workbench连接不会导致容器抛出该错误,但它也不会完全连接。 它确实显示数据库和表,但无法查询表。 我已经包含下面的Sequel Pro的错误。 NSInvalidArgumentException -[_NSInlineData isEqualToString:]: unrecognized selector sent to instance 0x608000039740 ( 0 CoreFoundation 0x00007fff3cae52fb __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fff63452c76 objc_exception_throw + 48 2 CoreFoundation 0x00007fff3cb7dda4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 3 CoreFoundation 0x00007fff3ca5b670 ___forwarding___ + 1456 4 CoreFoundation 0x00007fff3ca5b038 _CF_forwarding_prep_0 […]
有谁知道如何通过dockerfile安装mysql-server? 我已经写了一个Dockerfile,但是构build以一个错误结束: / bin / sh:1:/ usr / bin / mysqld:not found USER root RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server-5.7 # Remove pre-installed database RUN rm -rf /var/lib/mysql/* RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/"/etc/mysql/my.cnf ENV DB_USER example ENV DB_PASSWORD example ENV DB_NAME example ENV VOLUME_HOME "/var/lib/mysql" EXPOSE 3306 RUN cp /etc/mysql/my.cnf /usr/share/mysql/my-default.cnf […]
我试图通过使用-v标志将本地目录/home/ubuntu/data映射到容器中的/var/lib/mysql文件夹,但是容器的状态变为Exited (0) 1 。 但是,如果我完全不使用-v标志,那么容器已经到Up但这不是我想要的。 可能是什么原因? 在工作示例中,我发现事件日志中缺lessvolume mount线。 $ docker -v Docker version 17.09.0-ce, build afdb6d4 Dockerfile FROM ubuntu:16.04 RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server \ && sed -i "s/127.0.0.1/0.0.0.0/g" /etc/mysql/mysql.conf.d/mysqld.cnf \ && mkdir /var/run/mysqld \ && chown -R mysql:mysql /var/run/mysqld VOLUME ["/var/lib/mysql"] EXPOSE 3306 CMD ["mysqld_safe"] 这是不行的。 $ docker run […]