americandog1993の日記

プログラマー歴半年のメモ

Docker 自分的最低限コマンドメモ

拙くてもとりあえず作って捨てられる開発環境があれば良しの精神。

$ sudo docker pull centos:7
$ sudo docker images

centOS7のDockerイメージを取得。
及び取得したDockerイメージの確認。

$ sudo docker ps
$ sudo docker ps -a

コンテナ一覧。
-a付けると動作終了したコンテナも見れる。

$ sudo docker run -it --name myCentOS centos:7 /bin/bash
$ sudo docker run -d -i --name myCentOS -p 3000:3000 -t centos:7 /bin/bash

コンテナの作成(名前つけて作成もしてるよね?これ)・起動して中に入る。
そしてポートフォワーディングの場合(まだ試してない)。

$ exit

コンテナから出る。コンテナは終了する。

$ sudo docker start myCentOS

名前かIDを指定してコンテナを再開。

$ sudo docker attach myCentOS

再開したコンテナに入る。

$ sudo docker rm myCentOS

コンテナの破棄。

参考
http://amzn.asia/5p3uioHamzn.asia
qiita.com

CentOS(6.8)でDocker導入

タイトル通り。

$ su
$ yum -y update

けっこう待つ。
終わったら、

$ sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
$ sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum -y install docker-io

ここまでで導入は完了。
早速動かしてみる。

$ sudo service docker start
$ sudo chkconfig docker on

下のコマンドはたぶん自動起動の設定的なやつ。

参考
qiita.com
qiita.com

さくらのVPSでCentOSを再インストールしたら WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED! と出て入れない

さくらのVPSで全部やり直したくなったのでCentOSを入れ直したら

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

こういうクソでかエラーが出てつながらないとき。
おそらく以前作った秘密鍵と現在(再インストール後)のVPSサーバー側の公開鍵が合致しないのが原因。

ターミナルで以下をたたく。

$ ssh-keygen -R [サーバのIPアドレス]

これで繋がった。

参考
qiita.com

CentOSにvimを入れる

CentOSにviとかいうやつしか入ってなかったのでvimを入れることにした。

僕の環境だと

$ sudo yum install mercurial

このパッケージだけ入れて

$ cd /usr/local/src
$ sudo hg clone https://bitbucket.org/vim-mirror/vim vim

vimをとってきて

$ cd vim
$ sudo ./configure --with-features=huge --enable-multibyte --disable-selinux
$ sudo make
$ sudo make install

Vimそのものは完了。
無事使えることも確認。

あと、絶賛Ruby修行中なのでRsenseってやつを加えた。

$ sudo yum install java-1.8.0-openjdk wget -y
$ wget http://cx4a.org/pub/rsense/rsense-0.3.tar.bz2
$ bzip2 -dc rsense-0.3.tar.bz2 | tar xvf -
$ sudo cp -r rsense-0.3 /usr/local/lib
$ sudo chmod +x /usr/local/lib/rsense-0.3/bin/rsense

RsenseはRuby環境入れてからでないとうまく入れられないっぽい(要確認)。
あとwgetのところでなぜか一般ユーザーsudoだと上手くいかなかったのでsuしてrootで叩いた。

完了。

参考
qiita.com
qiita.com

vagrant で no such device とか出てうまくいかないとき

$ vagrant up

をした時に赤文字で なんとかかんとか:no such device とか出ていろいろ不具合ったので。

qiita.com
qiita.com
qiita.com

このあたり参考にしたらいけたっぽい?
例のごとく色々試して結局何が原因で何で直ったのかわかってないんだけれども、

$ vagrant ssh

入ってから、下のやつ走らせたのが決定打っぽい。

$ sudo yum update kernel*

終わったら exit で抜けて、

$ vagrant reload

なんか色々ダウンロード始まってうまくいった。
よかったです(カスの感想)。

CentOS(6.8)で Ruby on Rails 環境構築しようとしてめっちゃハマった

www.task-notes.com

結論から言うとここのやり方でほぼいけた。
Linuxはセキュリティの観点(?)から極力rootではなく作ったユーザーで作業すべきのようだが、sudo で進めてたらなんかエラー出てうまくいかない。
ある程度Linuxの基本を勉強する必要があるんだろうな。

あんまりよくないんだろうなとは思いつつ、ほぼ全部rootで作業したらすいすい進めた。

$ vagrant ssh

で入ると最初vagrantユーザーで始まるが、

$ su

で root に移れる。
パスワード聞かれたら vagrant と打つ。

冒頭のリンク先のやり方だとrbenv落としてくるのだけ終わったらユーザ権限に戻ってるっぽいんだけど、

$rbenv install 2.2.2

僕の環境だとここで BUILD FAILED ってなって失敗した。
なのでここも su でroot権限になって実行。
すると

Installing ruby-2.2.2...

のとこでめっちゃ待たされた後うまくいった。

続いてrails

qiita.com

railsインストール」以下を愚直に打ち込んでいく。
あとは道なりに・・・と思いきや、

$ bundle install

でエラー発生。
赤い英語で何やら書いてある。
sqlite3がどうたらこうたら。

ググろう。

qiita.com

いただきましたありがとうございます。
とりあえずsqlite-develっていうのが足りてないってことっぽいのでインストールする。

$ yum install sqlite-devel

こう。
僕の場合はこの状態で

$ bundle install

で再トライしたら無事成功。
そのまま rails server までトラブルなくできた。