Skip to content

Instantly share code, notes, and snippets.

@jollyjoester
Created July 11, 2014 09:54
Show Gist options
  • Save jollyjoester/c896c7d298641b917c61 to your computer and use it in GitHub Desktop.
Save jollyjoester/c896c7d298641b917c61 to your computer and use it in GitHub Desktop.
making RoR on docker:centos and connect it
docker run centos /bin/echo "Hello World"
docker run -i -t centos /bin/bash
#Dockerの中でCentOS設定
#参考
https://gist.github.com/jollyjoester/e6140e162f5d6a3f55c6
#Dockerから抜ける(コンテナが終了)
exit
#コンテナを終了させずに抜ける
Ctrl+p
Ctrl+q
#再開
docker attach [container_id]
#-aをつけると既に終了した環境も含めて確認できる
docker ps -a
#再接続する場合
docker attach [container_id]
#自分用のイメージを作成する
#container_nameは「ユーザー名/名称」が一般的らしい
docker commit [container_id] [container_name]
#イメージ確認
docker images
#イメージから起動
docker run -i -t [container_name] /bin/bash
docker run -d -p 22 [container_name] /usr/sbin/sshd -D
#options
## i コンテナの標準入力を開く
## t tty(端末デバイス)を確保する
## d バックグラウンドで実行(Webサーバー等常時実行するコンテナで指定)
## p Dockerサーバーとホストのポートマッピング {ホストのポート番号}:{コンテナのポート番号}
#コンテナ削除
docker rm `docker ps -a -q`
#イメージ削除
#後で
#dockerにsshで接続
#コンテナ準備
#・rootにパスワードを設定しておく
#・あらかじめコンテナにsshをインストールしておく
#・sshdは-Dオプションをつけてフォアグラウンドで動作させる
#(Dockerはフォアグラウンドで動いているものがないとコンテナが終了してしまうため)
docker run -d -p 22 [container_name] /usr/sbin/sshd -D
docker ps
#下記結果イメージ
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fb3748812e82 docker_test:latest /usr/sbin/sshd -D 37 seconds ago Up 36 seconds 0.0.0.0:49154->22/tcp cranky_mestorf
ssh [email protected] -p 49154
#dockerにhttpで接続
docker run -i -t -p 8080:80 [container_name] /bin/bash
#Dockerから抜ける
Ctrl+p, Ctrl+q
sudo iptables -t nat -L -n | grep 80
#下記結果イメージ
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:172.17.0.16:80
wget -q -O - http://localhost:8080/
#dockerでrailsを動かす
#rails環境作る
#参考
docker run -i -t -p 8080:3000 [container_name] /bin/bash
Ctrl+p, Ctrl+q
wget -q -O - http://localhost:8080/
@jollyjoester
Copy link
Author

Hello, RoR on Docker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment