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