docker在windows下发力的时候必将取代各类虚拟机,并改变程序员的开发习惯,或许还会改变infra的工做。node
概要:
在Windows下搭建开发环境一直是infra(我)头疼的事情。为了解决这个问题,跟老板,程序员商量得出的解决办法有如下几种:
1.Mac下开发。优势是搭建环境方便,缺点是须要熟悉mac操做。
2.Linux下开发。优势也是搭建环境方便,缺点是须要熟悉linux操做。并且UI比Mac难看。mysql
为了方便平常交流,最后变成使用win系统,VNC到linux下开发。还有一种是开虚拟机,常常很卡大抵最后仍是以上两种选择。linux
本次使用windows下的docker,基本环境以下:
Win10 Pro LTSC 64bit
Docker for Windows
i5-4460,8G DDR3程序员
Docker for Windows启动的必要条件:
64bit Win10 Pro
CPU虚拟化启动
Hyper-V启用web
必须的知识:
Docker基础知识,参考docker官网sql
1.安装Docker:
在下方link选择Download from Docker Hub(需注册)
https://docs.docker.com/docker-for-windows/install/docker
安装好之后,在setting里修改cpu为2核,memory为2G(根据我的配置本身调整)shell
2.安装rubymine(略过)windows
3.启动docker化的mysql
新建F:\docker\mysql
添加docker-compose.yml文件,代码以下:浏览器
version: '3' services: db: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always container_name: mysql ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: root MYSQL_USER: test MYSQL_PASSWORD: test MYSQL_DATABASE: test volumes: - ./db_data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8080:8080
在powershell中启动db
cd F:\docker\mysql
docker-compose up
启动完毕后可经过浏览器打开localhost:8080查看db。可经过navicat/hedisql等工具访问db。
4.在须要调试的代码中加入Dockerfile跟docker-compose.yml。代码分别以下:
Dockerfile: FROM ruby:2.2 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 docker-compose.yml: version: '3' services: web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/myapp ports: - "3000:3000"
添加完毕后在powershell中build镜像
cd F:\docker\xxxxx
docker-compose build
5.配置rubymine