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

ddarikpa  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(225)

我是docker的新手,我正在尝试使用mysql数据库在ruby中创建一个虚拟的docker映像,这个docker映像需要在不同的系统中执行。不使用docker-compose.yml(使用docker build或cmd)就可以构建docker映像请在这方面帮助我。
我的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

数据库.yml

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'] %>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题