More Related Content
Similar to 20150101勉強会 dokku alt
Similar to 20150101勉強会 dokku alt (20)
More from Shugo Numano (14)
20150101勉強会 dokku alt
- 10. Dokku-alt
Docker in Docker構成
• Docker in Docker
http://kray.jp/blog/docker-in-docker-per-
project-or-permission/
• 要は、Dokku-alt環境も、Dockerコンテナで構
築したい。
- 12. 手順①
• VirtualBoxに、vagrantを使ってubuntuをinstall
$ vagrant init ubuntu/trusty64
$ vi Vagrantfile
config.vm.network "private_network", ip: 192.168.33.10
config.vm.provider "virtualbox" do ¦vb¦
vb.customize ["modifyvm", :id, "--memory", 2048"] # defalt:512Mだとエラーになった
ため
end
$ vagrant up
$ vagrant ssh
- 13. 手順②
• ubuntuにdockerをinstall
$ sudo apt-get update
$ sudo apt-get install docker.io
$ source /etc/bash_completion.d/docker.io
• https://docs.docker.com/installation/
ubuntulinux/
- 14. 手順③
• virtual box内のubuntuで、dokku-altの存在するコンテナをprivileged modeでinstall
$ docker run --volume=/home/dokku --volume=/var/lib/docker --name=dokku-alt-data busybox:latest
$docker run -d --name=dokku-alt --hostname=my-domain.com --volumes-from=dokku-alt-data --
publish=10022:22 --publish=80:80 --publish=443:443 --privileged ayufan/dokku-alt:latest
• IPとPWを確認
$ docker logs dokku-alt
dokku.1 ¦ SSH Login:
dokku.1 ¦ user: root
dokku.1 ¦ password: lfMUjxYEvqpRRLY6 # 環境によって異なります
dokku.1 ¦ ip: 10.0.42.1 172.17.0.x # 環境によって異なります
dokku.1 ¦ Starting dokku daemon...
• コンテナにssh接続
$ ssh root@172.17.0.x
• コンテナ上のdokku-altに公開 を登録
$ cat .ssh/id_rsa.pub ¦ssh root@172.17.0.x dokku access:add
- 15. 手順④
• ubuntuのiptablesのforwardにて、ubuntu向けの通信をdokku-altが
動いているdockerコンテナにforwardする。
$ sudo iptables -t nat -A PREROUTING -m tcp -p tcp --dst
192.168.33.10 --dport 80 -j DNAT --to-destination 172.17.0.x:8
$ sudo iptables -t nat -A PREROUTING -m tcp -p tcp --dst
192.168.33.10 --dport 22222 -j DNAT --to-destination
172.17.0.x:22
$ sudo iptables -L -vt nat
• 参考
http://mo.kerosoft.com/0203
http://blog.rutti.net/item_747.html#.VJmeSAgMA
http://ubuntuforums.org/showthread.php?t=1111454
- 17. 手順⑥
• Railsアプリを作成
$ rails new testproject -d postgresql
$ cd testproject
$ vi Gemfile # rails_12factor,unicornを追加。これがないと、dokku-alt上で
rails+postgresqlが起動しない
gem 'rails_12factor', group: :production
gem 'unicorn'
$ bundle install ̶path vendor/bundle
$ rails g scaffold post name:string title:string content:text
$ vi config/routes.rb
root posts#index
$ rake assets:precompile
• 下記を参考に、Procfile,config/unicorn.rbを追加。全く同じでok
https://github.com/heroku/ruby-rails-sample
- 18. 手順⑥続き
• local PCでhosts編集
$ sudo vi /etc/hosts
192.168.33.10 my-domain.com testproject.my-domain.com
• local PCで /.ssh/configにgit push用設定を追加
$ sudo vi /.ssh/config
Host my-domain.com
Port 22222
• local PCでgit push実施
$ git init
$ git add .
$ git commit -m 'init'
$ git remote add dokku dokku@my-domain.com:testproject
$ git remote -v
$ git push dokku master