Skip to content

Instantly share code, notes, and snippets.

@mapk0y
mapk0y / docker-compose-volumes.mkd
Last active August 29, 2015 14:17
docker-compose(旧fig) の volume の扱い

通常 docker は -v /foo としてコンテナを起動した後にそのコンテナを docker rm して、新たに docker run で作りなおすと /foo の中身は引き継がない。

しかし、docker-compose を利用するとこれが引き継がれる。なぜかを調べてみた(docker-compose は stop/start ではなくちゃんと作りなおしているので修正した設定などが反映される)。

通常

  1. -v で指定した場合(や Dockerfile の VOLUME で指定している場合) /var/lib/docker/vfs/dir に ID のディレクトリが掘られてそこが bind-mountされる
  2. 対象コンテナは rm されない限りここを参照する。
  3. 対象コンテナが rm されると紐付け(config.json)が消えるが、データは消されない(ただ当然どのコンテナからも通常アクセス出来ない)
@mapk0y
mapk0y / my.cnf
Created April 12, 2015 22:39
サバフェスで使った my.cnf
[mysqld]
server_id = 101
user = mysql
port = 3306
bind_address = 0.0.0.0
character_set_server = utf8mb4
datadir = /fioa/mysql
tmpdir = /fioa/tmp
socket = /fioa/mysql/mysql.sock
default_storage_engine = InnoDB
@mapk0y
mapk0y / h2o-v1.2.0-build-memo.mkd
Created April 14, 2015 10:23
h2o-v1.2.0 の build メモ

cmake . && make -j$(nproc) した場合

 /usr/bin/install -c -m 644 libcrypto.pc libssl.pc libtls.pc openssl.pc '/h2o-1.2.0/libressl-build/lib/pkgconfig'
[  2%] Built target bundled-ssl
make: *** [all] Error 2

並列を制御してあげないとダメ?

  • cmake や make のそこら辺調べる
@mapk0y
mapk0y / Dockerfile
Created April 26, 2015 17:09
boot2docker で共有ディレクトリ(OSx では /Users 以下)をマウントしても起動するようにするには
FROM mysql:latest
RUN usermod -u 1000 mysql \
&& chown mysql. /var/run/mysqld
root@ubuntu1504:~/goplane/test# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecae765b7a73 osrg/gobgp:latest "/bin/bash" 13 seconds ago Up 12 seconds h6
9a88e3aa67ce osrg/gobgp:latest "/bin/bash" 13 seconds ago Up 12 seconds h5
f622e50afc5e osrg/gobgp:latest "/bin/bash" 13 seconds ago Up 13 seconds h4
4d248591442e osrg/gobgp:latest "/bin/bash" 13 seconds ago Up 13 seconds h3
c0e3b9f9c470 osrg/gobgp:latest "/bin/bash" 13 seconds ago Up 13 seconds h2
7263688b56fd osrg/gobgp:latest "/bin/bash" 13 seconds ago Up 13 seconds h1
5b237a821ec3 goplane:latest "/bin/bash" 13 seconds ago Up 13 seconds
@mapk0y
mapk0y / memo.mkd
Last active December 20, 2020 07:38
Mac の USB テザリングで Proxy.pac の設定ができない件

Mac では Chrome や Safari の Proxy 設定は接続環境(Wi-Fi や Ethernet など)に紐付いて設定できるシステム設定に依存している。 これらを GUI で設定する際に、Wi-Fi や Ethernet のならば proxy.pac(自動プロキシ構成スクリプト)を設定できるが、 USB テザリング(今回は iPhone USB というデバイス名)や Bluetooth テザリングの場合設定が出てこない。 今回は、これらを CUI で設定する方法を紹介する。パラメータ次第では、 proxy.pac だけではなく通常の proxy も変更できる。

ちなみに、Bluetooth テザリングの場合 Wi-Fi の設定を見ているようで、下記設定をしなくても Wi-Fi が On で Proxy 設定がされていればそちらを見る模様。

手順

@mapk0y
mapk0y / memo.mkd
Created June 7, 2015 20:51
Docker 1.7.0 で追加予定の zfs を試しただけ

1.7.0rc2 で zfs が動くらしいと聞いたので動かしただけ。やったことは下にメモしてる。

docker/cli.md によると遅いらしい。

root@vagrant:~# docker info
Containers: 0
Images: 0
Storage Driver: zfs
 Zpool: dockertest
@mapk0y
mapk0y / memo.mkd
Created June 22, 2015 19:34
runC の挙動に関して

ディレクトリ構成

host:~/runcdir# ls -la
total 16
drwxr-xr-x  3 root root 4096  6月 23 04:22 .
drwx------ 17 root root 4096  6月 23 04:29 ..
-rw-r--r--  1 root root 2082  6月 23 03:35 container.json
drwxr-xr-x 21 root root 4096  6月 23 04:24 rootfs
@mapk0y
mapk0y / memo.mkd
Created June 22, 2015 23:47
runc のメモ2 jessie で動かすまで

空のディレクトリから

host:~/testrunc# ls -l
total 0

docker export 使って rootfs 作ります。debootstrap でもいいと思う

host:~/testrunc# mkdir -pv rootfs
mkdir: created directory ‘rootfs’
@mapk0y
mapk0y / memo.mkd
Last active August 29, 2015 14:23
debian jessie で runC

cgroup 周りが足りないので以下の 両方 の対応が必要

  1. kernel パラメータの変更
  2. kernel の build (Docker はこれがなくても警告だけで動くので、無くす方向にできれば...)

kernel パラメータの調整

/etc/default/grubGRUB_CMDLINE_LINUX に "cgroup_enable=memory swapaccount=1" を追加する。