실천 Docker
9921 단어 Docker
의 목적
Docker를 통해 응용 환경을 구축하기 전의 단계를 정리합니다.
전제 조건
소프트웨어
릴리즈
시험을 준비하다
OS X
10.8.5
boot2docker
1.0.0
rbdock
0.2.0
Docker 시작
프로비저닝
소프트웨어
릴리즈
시험을 준비하다
OS X
10.8.5
boot2docker
1.0.0
rbdock
0.2.0
Docker 시작
프로비저닝
디테일
설정
VM과 데이터를 공유할 수 있습니다.
여기.에서 ISO 이미지를 다운로드합니다.$ boot2docker stop
$ mv ~/.boot2docker/boot2docker.iso ~/.boot2docker/boot2docker.iso.backup
$ mv ~/Downloads/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso ~/.boot2docker/boot2docker.iso
$ VBoxManage sharedfolder add boot2docker-vm -name home -hostpath /Users
$ boot2docker up
설치rbdock$ gem install rbdock
응용 프로그램 만들기
$ hazel sample_sinatra
create sample_sinatra/config/initializers
create sample_sinatra/lib
create sample_sinatra/spec
create sample_sinatra/lib/.gitkeep
create sample_sinatra/public/stylesheets
create sample_sinatra/public/stylesheets/main.css
create sample_sinatra/public/javascripts
create sample_sinatra/public/javascripts/.gitkeep
create sample_sinatra/public/images
create sample_sinatra/public/images/.gitkeep
create sample_sinatra/public/images/hazel_icon.png
create sample_sinatra/public/images/hazel_small.png
create sample_sinatra/public/favicon.ico
create sample_sinatra/views
create sample_sinatra/views/layout.erb
create sample_sinatra/views/welcome.erb
create sample_sinatra/sample_sinatra.rb
create sample_sinatra/spec/sample_sinatra_spec.rb
create sample_sinatra/spec/spec_helper.rb
create sample_sinatra/config.ru
create sample_sinatra/Gemfile
create sample_sinatra/Rakefile
create sample_sinatra/README.md
$ cd sampel_sinatra
$ rackup config.ru
Docker file 만들기
$ cd sample_sinatra
$ rbdock 2.1.0 --rvm --app .
생성된 Docker file이 그대로 있으므로 수정합니다.
43번째 줄을 삭제하고 44번째 줄에 다음 내용을 추가합니다RUN bash -l -c 'rvm use 2.1.0; bundle install'
형상을 형상화하다.
$ docker build -t="k2works/sample_sinatra" .
이미지 실행
$ docker run -d -p 9292:9292 --name=test k2works/sample_sinatra 'rvm use ruby-2.1.0;rackup config.ru'
테스트
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20f024e69a75 k2works/sample_sinatra:latest bash -l -c 'rvm use 20 minutes ago Up 4 seconds 0.0.0.0:9292->9292/tcp test
$ curl -i $(boot2docker ip 2>/dev/null):9292
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Content-Length: 1813
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Connection: keep-alive
Server: thin 1.6.2 codename Doc Brown
<!DOCTYPE html>
・・・
걷어치우다
$ docker stop test
test
$ docker rm test
test
Docker Hub로 밀어넣기
docker push
$ docker login
$ docker push k2works/sample_sinatra
Docker Hub과 협력
Automated Build 선택
GiitHub 선택
Docker file이 있는 저장소 선택
Doctorfile Location 위치 지정(Sample sinatra)
공개 유형을 선택한 후 Create Repository를 수행합니다.
위의 Docker file 위치가 잘못되어 구문이 실패했습니다.
Docterfile Locationsinatra 수정 후 Starta Build를 실행하여 구축이 정상적으로 종료됩니다.
덤
다른 창고에서 Dcokerfile을 만듭니다.
사용sinatra에bootstrap 설치된 창고입니다.$ mkdir sample_gitrepo
$ cd sample_gitrepo/
$ rbdock 2.0.0-p247 --rvm --app https://github.com/k2works/sinatra_bootstrap
$ docker build -t='k2works/sampel_gitrepo' .
$ docker run -d -p 9292:9292 --name=test_sample_gitrepo k2works/sample_gitrepo 'rvm use 2.0.0-p247;rackup config.ru'
Ruby on Rails 프로젝트의 Docker file을 만듭니다.
$ rails new sample_rails_app
$ cd sample_rails_app
$ rdbock 2.1.0 --rvm --app .
$ docker build -t='k2works/sample_rails_app' .
$ docker run -d -p 3000:3000 --name=test_rails k2works/sample_rails_app 'rvm use ruby-2.1.0;rails server'
참고: Docker file을 편집해야 합니다.
경품도 Docker Hub과 함께 합니다.
기릿허브에서 사은품을 추가 추천한 뒤 위에 내용을 추가했다.
인용하다
$ boot2docker stop
$ mv ~/.boot2docker/boot2docker.iso ~/.boot2docker/boot2docker.iso.backup
$ mv ~/Downloads/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso ~/.boot2docker/boot2docker.iso
$ VBoxManage sharedfolder add boot2docker-vm -name home -hostpath /Users
$ boot2docker up
$ gem install rbdock
$ hazel sample_sinatra
create sample_sinatra/config/initializers
create sample_sinatra/lib
create sample_sinatra/spec
create sample_sinatra/lib/.gitkeep
create sample_sinatra/public/stylesheets
create sample_sinatra/public/stylesheets/main.css
create sample_sinatra/public/javascripts
create sample_sinatra/public/javascripts/.gitkeep
create sample_sinatra/public/images
create sample_sinatra/public/images/.gitkeep
create sample_sinatra/public/images/hazel_icon.png
create sample_sinatra/public/images/hazel_small.png
create sample_sinatra/public/favicon.ico
create sample_sinatra/views
create sample_sinatra/views/layout.erb
create sample_sinatra/views/welcome.erb
create sample_sinatra/sample_sinatra.rb
create sample_sinatra/spec/sample_sinatra_spec.rb
create sample_sinatra/spec/spec_helper.rb
create sample_sinatra/config.ru
create sample_sinatra/Gemfile
create sample_sinatra/Rakefile
create sample_sinatra/README.md
$ cd sampel_sinatra
$ rackup config.ru
$ cd sample_sinatra
$ rbdock 2.1.0 --rvm --app .
RUN bash -l -c 'rvm use 2.1.0; bundle install'
$ docker build -t="k2works/sample_sinatra" .
$ docker run -d -p 9292:9292 --name=test k2works/sample_sinatra 'rvm use ruby-2.1.0;rackup config.ru'
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20f024e69a75 k2works/sample_sinatra:latest bash -l -c 'rvm use 20 minutes ago Up 4 seconds 0.0.0.0:9292->9292/tcp test
$ curl -i $(boot2docker ip 2>/dev/null):9292
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Content-Length: 1813
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Connection: keep-alive
Server: thin 1.6.2 codename Doc Brown
<!DOCTYPE html>
・・・
$ docker stop test
test
$ docker rm test
test
$ docker login
$ docker push k2works/sample_sinatra
$ mkdir sample_gitrepo
$ cd sample_gitrepo/
$ rbdock 2.0.0-p247 --rvm --app https://github.com/k2works/sinatra_bootstrap
$ docker build -t='k2works/sampel_gitrepo' .
$ docker run -d -p 9292:9292 --name=test_sample_gitrepo k2works/sample_gitrepo 'rvm use 2.0.0-p247;rackup config.ru'
$ rails new sample_rails_app
$ cd sample_rails_app
$ rdbock 2.1.0 --rvm --app .
$ docker build -t='k2works/sample_rails_app' .
$ docker run -d -p 3000:3000 --name=test_rails k2works/sample_rails_app 'rvm use ruby-2.1.0;rails server'
Reference
이 문제에 관하여(실천 Docker), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/k2works/items/7b49e63337211b0b6c74텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)