ubuntu -docker ubuntu -docker ubuntu -docker
Linux ubuntu docker 前提条件 Docker要求Ubuntu系统内核版本高于3.10,查看内核版本
系统版本没有问题,docker安装一直包这错。试一下docker命令,检查镜像信息
1 2 3 docker images 现在Ubuntu系统提示安装docker命令,我们执行 apt-get install docker.io
查看docker版本 1 2 3 docker version sudo docker run hello-world 【确认docker是否安装成功】
———————–到这里docker已经安装完成————————
安装docker-compose 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 sudo curl -L https ://github.com/docker/compose/releases/download/1.17 .1 /docker-compose-`uname -s`-`uname -m` > /usr/local /bin/docker-compose sudo chmod +x /usr/local /bin/docker-compose curl -L https ://raw.githubusercontent.com/docker/compose/1.8 .0 /contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose 【bash 补全命令】 -m为数据最大传输时间 curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local /bin/docker-compose docker-compose -version 【检测 docker-compose 版本】 sudo rm /usr/local /bin/docker-compose 【卸载docker-compose】 docker-compose 命令 docker-compose ps 查看容器运行状态 docker-compose restart docker-compose restart App1 docker-compose stop docker-compose rm docker-compose stop App1 docker-compose -f docker-compose.yml down 停止并删除容器、网络、镜像、数据卷
———————–到这里docker-compose已经安装完成————————
Docker Compose 搭建 Rails 温馨提示: 复制粘贴命令的时候注意别丢信息
创建项目目录
创建 Dockerfile文件,包含以下内容 1 2 3 4 5 6 7 8 FROM ruby:2.3 .3 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
创建 Gemfile 文件,包含以下内容 1 2 source 'https://rubygems.org' gem 'rails' , '5.0.0.1'
创建空的 Gemfile.lock 文件
创建一个 docker-compose.yml ,包含以下内容 温馨提示: docker-compose.yml 中 version: ‘3’ 改为 version: ‘2’
1 2 3 4 5 6 7 8 9 10 11 12 13 version : '2' services : db : image : postgres web : build : . command : bundle exec rails s -p 3000 -b '0.0.0.0' volumes : - .:/myapp ports : - "3000:3000" depends_on : - db
接下来执行 1 docker-compose run web rails new . --force --database =postgresql
查看现在的目录: ls -l
修改权限,重建 Docker 镜像 1 2 sudo chown -R $USER:$USER . docker-compose build
修改 config/database.yml 文件 如果担心修改错误,可以先备份原文件: cp database.yml database.yml_backup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 清空 database.yml 文件 echo " " >database.yml database.yml 文件写入以下内容 default: &default adapter: postgresql encoding: unicode host: db username: postgres password: pool: 5 development: <<: *default database: myapp_development test: <<: *default database: myapp_test
启动应用
创建数据库,在另一个终端中,执行 1 docker-compose run web rake db:create
用浏览器访问 http://localhost:3000 ,你会看到 Rails 的欢迎信息:
If you are using Docker Machine , then docker-machine ip MACHINE_VM
returns the Docker host IP address, to which you can append the port (<Docker-Host-IP>:3000
).
Compose and Rail 官方文档