Docker MySQL无法连接到套接字

马里奥维

我正在学习Docker,尝试在passenger-full容器和mysql容器上连接Rails应用程序时遇到问题两者都链接在撰写文件中

app:
  build: ./rails
  ports:
    - "80:80"
  links:
    - database
  volumes:
    - ./rails:/home/app/webapp
database:
  image: mysql
  environment:
    - MYSQL_DATABASE="dockertest"
    - MYSQL_USER="dockertest"
    - MYSQL_PASSWORD="dockertest"
    - MYSQL_ROOT_PASSWORD="root"

所以我apt-get install像这样在Dockerfile的顶部添加了

FROM phusion/passenger-full
RUN apt-get update && apt-get install libmysqlclient-dev mysql-client -y

# Set correct environment variables.
ENV HOME /root

# Use baseimage-docker's init process.
CMD ["/sbin/my_init"]

RUN rm -f /etc/service/nginx/down
RUN rm /etc/nginx/sites-enabled/default
ADD webapp.conf /etc/nginx/sites-enabled/webapp.conf

RUN mkdir /home/app/webapp
WORKDIR /home/app/webapp
ADD . /home/app/webapp
RUN cd /home/app/webapp && bundle install
RUN touch /home/app/webapp/tmp/restart.txt

# Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

这也是我database.yml在Rails应用中。

default: &default
  adapter: mysql2
  database: dockertest
  host: <%= ENV['MYSQL_PORT_3306_TCP_ADDR'] %>
  port: <%= ENV['MYSQL_PORT_3306_TCP_PORT'] %>
  username: dockertest
  password: dockertest

development:
  <<: *default

production: 
  <<: *default

问题是我无法停止接收错误

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

webconf文件是

# /etc/nginx/sites-enabled/webapp.conf:
server {
    listen 80;
    server_name localhost;
    root /home/app/webapp/public;

    passenger_enabled on;
    passenger_user app;
    passenger_ruby /usr/bin/ruby2.2;
}

这是正确的方法吗?如您所见,我是Docker的新手。

里科

这里的问题是文件中links指令docker-compose.yml你有:

links:
  - database

根据参考文献这基本上就是说链接name:aliasdatabase:databasedocker-compose.yml

另外,如果您阅读了链接容器文档,则可以看到导出到源容器的环境的格式ALIAS_XXX例如ALIAS_PORT_3306_TCP_PORT因此,本质上您database.yml想要做的是这样的:

default: &default
  adapter: mysql2
  database: dockertest
  host: <%= ENV['DATABASE_PORT_3306_TCP_ADDR'] %>
  port: <%= ENV['DATABASE_PORT_3306_TCP_PORT'] %>
  username: dockertest
  password: dockertest

development:
  <<: *default

production: 
  <<: *default

如果要使用MYSQL别名,则链接必须在docker-compose.yml文件中看起来像这样

links:
  - database:mysql

错误:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

基本上是从您的Rails应用程序发出的,并不是要查看database.yml中的内容,而是默认为本地/var/run/mysqld/mysqld.sock连接。

希望能帮助到你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R Docker:无法通过套接字连接到本地MySQL服务器

来自分类Dev

mySQL Docker“错误 2002 (HY000):无法通过套接字连接到本地 MySQL 服务器”

来自分类Dev

docker容器中的mysql表示“无法通过套接字'/var/run/mysqld/mysqld.sock连接到本地MySQL服务器”

来自分类Dev

Docker无法连接到mysql

来自分类Dev

wordpress docker 无法连接到 mysql docker

来自分类Dev

Docker MySQL无法连接到容器

来自分类Dev

Docker-Compose无法连接到MySQL

来自分类Dev

无法使用Docker连接到Mysql

来自分类Dev

无法连接到 MySQL docker 容器

来自分类Dev

无法从 docker 容器内连接到 mysql

来自分类Dev

Docker,无法将 wordpress 连接到 mysql

来自分类Dev

无法远程连接到 docker mysql 容器

来自分类Dev

Docker高山映像:错误2002(HY000):无法通过套接字'/run/mysqld/mysqld.sock'(2“无此文件或目录”)连接到本地MySQL服务器

来自分类Dev

如何使用Docker容器内的python套接字连接到服务器?

来自分类Dev

Portainer:尝试连接到Docker守护进程套接字时获得的权限被拒绝

来自分类Dev

尝试连接到 Docker 守护进程套接字时权限被拒绝

来自分类Dev

Docker无法连接到主机

来自分类Dev

无法连接到Docker进程

来自分类Dev

无法连接到docker mongo

来自分类Dev

无法连接到Docker容器

来自分类Dev

无法使用JDBC连接到mySql docker容器

来自分类Dev

无法将MySQL容器连接到Docker中的Tomcat容器

来自分类Dev

无法连接到通过Ansible启动的MySQL docker容器

来自分类Dev

无法将Docker Wordpress容器连接到主机上的MySQL

来自分类Dev

无法使用Docker将Java程序连接到MySQL

来自分类Dev

无法连接到Docker容器中的MySQL数据库

来自分类Dev

在docker上运行的Springboot Microservice无法连接到mysql

来自分类Dev

docker wordpress容器无法连接到mysql容器

来自分类Dev

无法连接到GCP Kubernetes Engine上托管的MySQL Docker

Related 相关文章

  1. 1

    R Docker:无法通过套接字连接到本地MySQL服务器

  2. 2

    mySQL Docker“错误 2002 (HY000):无法通过套接字连接到本地 MySQL 服务器”

  3. 3

    docker容器中的mysql表示“无法通过套接字'/var/run/mysqld/mysqld.sock连接到本地MySQL服务器”

  4. 4

    Docker无法连接到mysql

  5. 5

    wordpress docker 无法连接到 mysql docker

  6. 6

    Docker MySQL无法连接到容器

  7. 7

    Docker-Compose无法连接到MySQL

  8. 8

    无法使用Docker连接到Mysql

  9. 9

    无法连接到 MySQL docker 容器

  10. 10

    无法从 docker 容器内连接到 mysql

  11. 11

    Docker,无法将 wordpress 连接到 mysql

  12. 12

    无法远程连接到 docker mysql 容器

  13. 13

    Docker高山映像:错误2002(HY000):无法通过套接字'/run/mysqld/mysqld.sock'(2“无此文件或目录”)连接到本地MySQL服务器

  14. 14

    如何使用Docker容器内的python套接字连接到服务器?

  15. 15

    Portainer:尝试连接到Docker守护进程套接字时获得的权限被拒绝

  16. 16

    尝试连接到 Docker 守护进程套接字时权限被拒绝

  17. 17

    Docker无法连接到主机

  18. 18

    无法连接到Docker进程

  19. 19

    无法连接到docker mongo

  20. 20

    无法连接到Docker容器

  21. 21

    无法使用JDBC连接到mySql docker容器

  22. 22

    无法将MySQL容器连接到Docker中的Tomcat容器

  23. 23

    无法连接到通过Ansible启动的MySQL docker容器

  24. 24

    无法将Docker Wordpress容器连接到主机上的MySQL

  25. 25

    无法使用Docker将Java程序连接到MySQL

  26. 26

    无法连接到Docker容器中的MySQL数据库

  27. 27

    在docker上运行的Springboot Microservice无法连接到mysql

  28. 28

    docker wordpress容器无法连接到mysql容器

  29. 29

    无法连接到GCP Kubernetes Engine上托管的MySQL Docker

热门标签

归档