- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 docker 运行一个 Ruby on Rails 项目,但我不知道如何让这些东西工作,可能是因为我不熟悉 docker。
我在 Ubuntu 16.04 上,从现在开始:
docker
docker-compose
docker-compose build
docker-compose run --rm web bin/setup
停止了,因为它不能连接到mysql服务器我得到的错误是:
#<Mysql2::Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)>
Couldn't create database for {"adapter"=>"mysql2", "host"=>"localhost", "username"=>"root", "password"=>"root", "pool"=>5, "timeout"=>5000, "database"=>"project"}, {}
Created database 'project'
rails aborted!
Mysql2::Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
看这里的 stackoverflow 很多人说我必须确保 mysql 服务器正在运行。我怎样才能做到这一点? docker ps
的结果如下(省略了 COMMAND ans CREATED 列)
CONTAINER ID IMAGE STATUS PORTS NAMES
9f03056e2b54 project_web Up About an hour 0.0.0.0:3035->3035/tcp project_webpack
465cfbac7cbd mysql Up About an hour 3306/tcp project_mysql
我的database.yml
:
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: mysql2
host: localhost
username: root
password: root
pool: 5
timeout: 5000
development:
<<: *default
database: project_local
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test: &test
<<: *default
database: project_test
production:
<<: *default
database: db/production.sqlite3
staging:
adapter: mysql2
host: <MY HOST>
database: project_dev
username: root
password: password
pool: 5
timeout: 5000
cucumber:
<<: *test
还有我的docker-compose.yml
:
version: '3.5'
services:
web:
build: .
image: project_web
container_name: project_web
# restart: always
command: >
./wait-for-it.sh db:3306 -- bash -c "
rails server -p 3000 -b 0.0.0.0 --pid /app/tmp/pids/server.pid
"
ports: ["3000:3000"]
volumes:
- .:/app
- ~/tmp:/host_tmp
- bundle_cache:/bundle
depends_on:
- db
environment:
- DB_HOST=db
- DB_USERNAME=root
- DB_PASSWORD=root
db:
container_name: project_mysql
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=root
volumes:
- ./db-data:/var/lib/mysql
restart: always
volumes:
bundle_cache:
# Mount volume with default driver
最佳答案
尝试将 database.yml 中的主机更改为 0.0.0.0 这解决了我的问题。
在服务器上下文中,0.0.0.0 表示本地计算机上的所有 IPv4 地址。如果主机有两个 IP 地址,192.168.1.1 和 10.1.2.1,并且主机上运行的服务器监听 0.0.0.0,则可以通过这两个 IP 访问它。
关于mysql - 无法通过套接字连接到本地 MySQL 服务器 '/var/run/mysqld/mysqld.sock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48344408/
我的问题开始于我无法再以 root 身份登录我的 mysql 安装。我试图在没有打开密码的情况下运行 mysql...但是每当我运行命令时 # mysqld_safe --skip-grant-tab
我的问题开始于我在安装 mysql 时无法再以 root 身份登录。我试图在没有打开密码的情况下运行 mysql ......但是每当我运行命令时 # mysqld_safe --skip-grant
我在 CentOS 上的 mySQL 服务器一直运行正常,但是,我今天突然无法重启mysqld。 1) #/etc/rc.d/init.d/mysqld 启动 显示[失败] 2)查看日志 tail /
ruby 2.2.3p173(2015-08-18 修订版 51636)[x86_64-linux] Rails 5.0.0.1 服务器版本:5.7.13-0ubuntu0.16.04.2(Ubunt
目前我在 Linux Centos 上遇到 mysql 的问题。它突然停止了。 然后我尝试用 service mysqld start 命令启动 mysql,它给出错误 - 尝试启动 MySQL 守护
我刚注册到 Stack Overflow,因为从 2 天前开始我真的无法摆脱这个问题。我使用 Xampp。 所以,我正在关注这个 Laravel tutorial当我从终端输入项目目录或每个其他目录
我在使用 MAMP 启动 MySQL 服务器时遇到问题,问题可能是我似乎无法在打开 MAMP 之前终止所有 mysqld 进程。启动 MAMP 会创建第二个冲突的 mysqld 进程。在打开 MAMP
进程文件: mysqld-nt or mysqld-nt.exe 进程名称: MySQL Daemon 进程类别:存在安全风险的进程 英文描述: mysqld-nt.exe belongs
在我的 CentOS 版本 5.10(最终版本)上,内核版本:Linux 2.6.18-371.6.1.el5 #1 SMP Wed Mar 12 20:08:05 EDT 2014 i686 i68
我尝试通过套接字映射从docker容器访问主机上运行的mysql服务器。 这就是 Dockerfile 的样子。 FROM ubuntu:16.04 ENV container docker ENV
这是我在这里的第一篇文章,所以我希望我做的一切都是正确的,不要忘记任何重要信息。我很高兴得到任何提示,因为我的想法已经用完了(如果我有的话 ;))。 我正在(或曾经)在 Raspbian Jessie
控制台说 [root@ip-172-31-18-2 mysql]# service mysqld start Starting mysqld (via systemctl): Job for mys
我知道以前有人问过这个问题。但我几乎尝试了一切。 我在/var/run/mysqld 中没有像/var/run/mysql 文件夹那样的 .sock 文件 MySQL 似乎正在运行: mysql
我今天尝试连接到 MySQL 服务器,发现我没有任何 mysqld.sock,哪里都没有。 我尝试了几种方法来恢复它,但都没有成功。我试图执行一个./mysqld.start 在 /etc/init.
这对我来说很奇怪,因为当我运行 sudo find/-type smysql.sock 位置是 /opt/lampp/var/mysql/mysql.sock,问题是当我使用 rail s< 启动 r
我正在重置 MYSQL 密码,因为我忘了它。我在 Centos 7 上使用 MYSQL 5.6.41。 我遵循了以下步骤: 停止 MYSQL 使用: service mysql stop 以安全模式启
ubuntu mysql 5.7/var/run/mysqld/mysqld.sock? mysql start ERROR 2002 (HY000): Can't connect to local
我正在尝试使用 docker 运行一个 Ruby on Rails 项目,但我不知道如何让这些东西工作,可能是因为我不熟悉 docker。 我在 Ubuntu 16.04 上,从现在开始: 我已经安装
我在访问我的数据库时遇到问题, 当我尝试运行 mysql -h localhost -u root -p并输入密码 我收到这种错误 ERROR 2002 (HY000): Can't connect
我是 Ubuntu 新手。我在 Ubuntu 上安装了 xampp 并且工作正常。但是当我尝试从终端运行 mysql -u username -p pass 时,我收到了这个错误: ERROR 200
我是一名优秀的程序员,十分优秀!