Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ruby和mysql创建可在不同系统中运行的docker映像_Mysql_Ruby On Rails_Ruby_Docker_Dockerfile - Fatal编程技术网

如何使用ruby和mysql创建可在不同系统中运行的docker映像

如何使用ruby和mysql创建可在不同系统中运行的docker映像,mysql,ruby-on-rails,ruby,docker,dockerfile,Mysql,Ruby On Rails,Ruby,Docker,Dockerfile,我是docker的新手,我正在尝试使用mysql数据库在ruby中创建一个虚拟docker映像,docker映像需要在不同的系统中执行。可以在没有docker-compose.yml的情况下构建docker映像(通过使用docker build或CMD),请在这方面帮助我 我的Dockerfile FROM ruby:2.5 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

我是docker的新手,我正在尝试使用mysql数据库在ruby中创建一个虚拟docker映像,docker映像需要在不同的系统中执行。可以在没有docker-compose.yml的情况下构建docker映像(通过使用docker build或CMD),请在这方面帮助我

我的Dockerfile

FROM ruby:2.5

RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp

COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock

RUN bundle install
COPY . /myapp
还有我的Docker compose.yml

version: '3'
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: letmein
      MYSQL_DATABASE: myapp
      MYSQL_USER: appuser
      MYSQL_PASSWORD: letmein
    ports:
      - "3307:3306"
  app:
    build: .
    command: bundel exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - ".:/myapp"
    ports:
      - "3001:3000"
    depends_on:
      - db
    links:
      - db
    environment:
      DB_USER: root
      DB_NAME: myapp
      DB_PASSWORD: letmein
      DB_HOST: db
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  database: <%= ENV['DB_NAME'] %>
  username: <%= ENV['DB_USER'] %>
  password: <%= ENV['DB_PASS'] %>
  host: <%= ENV['DB_HOST'] %>

development:
  <<: *default
  database: myapp_development

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  database: myapp_production
  username: myapp
  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
数据库.yml

version: '3'
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: letmein
      MYSQL_DATABASE: myapp
      MYSQL_USER: appuser
      MYSQL_PASSWORD: letmein
    ports:
      - "3307:3306"
  app:
    build: .
    command: bundel exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - ".:/myapp"
    ports:
      - "3001:3000"
    depends_on:
      - db
    links:
      - db
    environment:
      DB_USER: root
      DB_NAME: myapp
      DB_PASSWORD: letmein
      DB_HOST: db
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  database: <%= ENV['DB_NAME'] %>
  username: <%= ENV['DB_USER'] %>
  password: <%= ENV['DB_PASS'] %>
  host: <%= ENV['DB_HOST'] %>

development:
  <<: *default
  database: myapp_development

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  database: myapp_production
  username: myapp
  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
default:&default
适配器:mysql2
编码:utf8
游泳池:
数据库:
用户名:
密码:
主持人:
发展:

这一切有什么意义?您想安装mysql db的docker映像还是安装ruby的简单linux的docker映像?还有,您首先遇到了什么问题?我正在尝试通过连接mysql在docker中运行rails应用程序。