- EC-CUBEをh2oと連携させてdocker for macで動かしてosxfsが大変遅いことを体感した件
- DockerでIPython Notebookを動かして、数え上げおねえさんを救う
- Dockerで音を鳴らす
- JavaScriptをDockerを使って黒い画面に表示する
- Dockerやって知ったmoshの残念な点
- OSXでDocker入れるとTimeMachineが遅くなるかも #solved
- Dockerやって色々勉強になってる件
- Dockerの画面をiPhoneに表示する - non vorrei lavorare
- Docker入れてからのVirtualBoxのアップデート
- DockerのAlpine Linuxでタイムゾーンでハマった
- Dockerでninix-ayaを動かそうとしている中での気付き(その3)
- Dockerでninix-ayaを動かそうとしている中での気付き(その2)
- Dockerでninix-ayaを動かそうとしている中での気付き(その1)
- OSXでDocker使っていてssh接続で怒られる時に対処法
COMPOSE_CONVERT_WINDOWS_PATHS=1 docker-compose.exe exec app bash -c "chown -R www-data: . && php eccube_install.php pgsql"
Postgresqlの公式のイメージとかをコンテナ間の連携を使って使うことが出来る模様。
連携したいコンテナ名:エイリアス名
コンテナ内に連携したいコンテナのポート番号やIPをもった環境変数が現れる
この仕掛けを使うことで、boot2dockerな環境で、boot2dockerの自作を頑張らずに、Dockerらしいファイル共有が出来る模様。
-
データボリューム
-
データボリュームコンテナ
ボリューム名の例 /data1,/var/data1
事前に作ったコンテナのボリュームを同じ場所にマウントする感じの動き。
sudo docker build -t mygodevenv .
sudo docker run -i -t mygodevenv
ただし、同一ホスト内でしか有効でないとの記事もあり、バックアップ方法の確立も課題かも。
docker ps
docker export 0123456789 > img.tar
cat img.tar |docker import - hoge:test
- Dockerのコンテナ内からはとくに意識することなく外界にアクセスできる。
- 特段の設定なしで、ホストがローカルIPでもこれを指定することで、例えば、ホストのHTTPサーバー等へアクセス可能
- Dockerコンテナ内のifcoonfigで出てくるIPアドレスからのアクセスになる
- OSXの場合、boot2dockerかましているので、ホストにSshしたら、ホスト自身のローカルIPアドレスからのアクセスと見える(last|headで確認)
なんかの単位らしいことはわかる Dockerfileで作られるのが1コンテナ?
=>
Dockerfileの1行ごとにコンテナとコンテナIDが作られ、コンテナは親からの差分を保存
OSXの場合、ローカルの適当な空の作業ディレクトリを用意してそこに記述すればよかった。 「-v」はOSX上で使えないくせにADDは問題なく使え、ローカルファイルのイメージへの追加は行える。
OSのスクラッチイメージからアプリが動くまでを書いたコード
以下で出来た(やや冗長な気がするけど、実績重視でw)
RUN apt-get install -y openssh-server
RUN /etc/init.d/ssh start
RUN /etc/init.d/ssh stop
# sshdの設定ファイルのカスタマイズ
RUN sed -ri 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
RUN sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config
# rootのパスワード設定
ENV ROOTPASSWORD ninix123
RUN echo "root:${ROOTPASSWORD}" |chpasswd
# sshdを動かす
CMD /usr/sbin/sshd -D
EXPOSE 22
Dockerfile内でのローカル(ホスト側)ファイルの参照方法
ADD localStaff/ /root/myitems
./boot2docker stop
./boot2docker download
./boot2docker start
これで少なくとも boot2docker、docker本体はアップデートできそうな気配だが、 OSX内のdockerコマンドはどうなんだろか?
- Cloud9 IDE
- Google App Engine
- GoのSDK入れた使い捨て環境ためしてるところ
- ninix-ayaの最新版をDockerで動かす
- ninix-aya
dockerグループにsudoしたくないアカウントを追加すれば良い
sudo gpasswd -a ユーザーID docker
Ubuntuのデスクトップにログイン済みの場合、一旦ログアウトして、入りなおすと dockerコマンドがsudoなしで使えるようになる