Docker bash completion

表題の件について。Docker for Macを”beta17“にアップデートし、ドキュメントをざっと読んでいたら”Installing bash completion“の項目があったので確認。

■ 環境

  • Docker for Mac 1.12.0-rc2-beta17
  • Mac OSX El Capitan

■ 現状

Homebrewを普段使用しているので、下記ディレクトリ内を確認する。

/usr/local/etc/bash_completion.d

この中に、docker-machineのファイルが存在した。Homebrewで入れたものをuninstallしていないので残っているのであろう。

$ ls -l docker*
lrwxr-xr-x  1 withsin  admin  82  4 14 16:31 docker-machine-prompt.bash -> ../../Cellar/docker-machine/0.7.0/etc/bash_completion.d/docker-machine-prompt.bash
lrwxr-xr-x  1 withsin  admin  83  4 14 16:31 docker-machine-wrapper.bash -> ../../Cellar/docker-machine/0.7.0/etc/bash_completion.d/docker-machine-wrapper.bash
lrwxr-xr-x  1 withsin  admin  75  4 14 16:31 docker-machine.bash -> ../../Cellar/docker-machine/0.7.0/etc/bash_completion.d/docker-machine.bash
$

とりあえずこれらはいらないので削除しても良いと思われるのだが、docker-machine自体をuninstallしていないのでそのままにしておく。

■ Install bash completion

下記ドキュメントを参照し、そのまま実行する。

Docker for Mac > Install bash completion

$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

以降はターミナルを開きなおせば下記のようにタブを押せば出てくる。

$ docker
attach   cp       diff     export   images   inspect  login    network  port     push     rm       save     start    swarm    unpause  volume
build    create   events   help     import   kill     logout   node     ps       rename   rmi      search   stats    tag      update   wait
commit   daemon   exec     history  info     load     logs     pause    pull     restart  run      service  stop     top      version
$

以上。

■ 関連

Evernote

本日何かと話題になっている表題の件について。今朝メールを確認すると、Evernoteから「Evernote ベーシックへの変更について」というメールが届いていた。無料のベーシックプランではアプリで使用できる端末は2つに制限されるとのこと。

■ 環境

  • Evernote
  • Mac OSX El Capitan

■ 使い方

自身のEvernoteの使い方は下記の通り。

  • メモ取り用 → とりあえずなんでも文章を書くのに利用
  • WebClip → 気になるWebページをクリップ
  • 複数端末の同期 → 仕事用・プライベート用・iPhoneでの同期

1,2点目では特に問題はないのだが、3点目が今回の変更に引っかかってしまう。iPhoneでの使用頻度はあまり高くないのでこれを削ればベーシックのままでも使用はできるだろう。

■ 端末

とりあえず端末の数を確認。下記から設定済みの端末を確認できる。

https://www.evernote.com/Devices.action

自身の場合は、下記のようであった。3台の端末が登録されている。

evernote-001

2台の制限とのことなのでiPhoneの「アクセスを取り消す」で2台にした。

一旦はベーシックで続けられるようにしたが、Evernoteにはとてもお世話になっているのでアップグレードも考えようかと思う。

■ 料金

プラスとプレミアムがあるらしいが、それぞれ下記の料金のようである。

  • プラス: 360円/月 or 3100円/年
  • プレミアム: 600円/月 or 5200円/年

値上げ幅が結構なものだそうである。

かなり便利に使わせてもらっていたのでお金を払う分には問題ないのであるが、今後のことも考えると別のアプリに乗り換えることも考慮した方が良いかもしれない。

■ その他

OneNoteも似たように使えるのかな。OneNoteの場合は無料である程度使えるようだ。ちょっと検討もしてみよう。

以上。

Posted in: Mac | Tagged:

ファイルからコンテナイメージを作成

Dockerにおいて表題の通り。先日作成したtarファイルからコンテナを復元する。

■ 環境

  • Docker for Mac 1.12.0-rc2-beta16
  • Mac OSX El Capitan

■ export

今回`import`するコンテナは、先日の下記エントリで`export`したコンテナである。

コンテナをファイル出力

作成したファイルは下記の通り。

$ ls -l exptest.tar
-rw-r--r--  1 withsin  staff  1087947264  6 27 19:11 exptest.tar
$
$ tar tf exptest.tar | head
.dockerenv
bin/
bin/ash
bin/base64
bin/bash
bin/bashbug
bin/bbconfig
bin/busybox
bin/cat
bin/catv
  :
$

tarファイルの中身を見てみると、そのまんまファイルシステムを固めたものであるようだ。

■ import

`import`のヘルプは下記の通り。

$ docker import -h
Flag shorthand -h has been deprecated, please use --help

Usage:    docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

Import the contents from a tarball to create a filesystem image

Options:
  -c, --change value     Apply Dockerfile instruction to the created image (default [])
      --help             Print usage
  -m, --message string   Set commit message for imported image
$

tarファイルをそのまま渡せばいけるのであろう。早速試してみる。`import`後のコンテナイメージの名称は”imptest“とする。

$ docker import exptest.tar imptest
sha256:c2b5273bdaaf504f23a6f71d4c6181cad611504110949a9166a8ffecb4795b6a
$
$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
imptest                  latest              c2b5273bdaaf        14 minutes ago      1.07 GB
  :
$

`import`ができた。この新しいコンテナイメージを元に起動して問題なく動作すれば復元は完了である。

ちなみに、下記の方法もやってみた。

$ tar xf exptest.tar | docker import - imptest2
usr/share/terminfo/l/lft-pc850: Can't create 'usr/share/terminfo/l/lft-pc850'
usr/share/terminfo/n/ncr260vt300wpp: Can't create 'usr/share/terminfo/n/ncr260vt300wpp'
  :
tar: Error exit delayed from previous errors.
sha256:7d8b45d5f77e59eb971687481108e395b2f8812f748bfd0c5f770c883c99910d
$
$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
imptest2                 latest              7d8b45d5f77e        22 seconds ago      0 B
  :
$

同じファイルから`import`したのにエラーとなってしまった。何故だろう?

再度ちなみに、になってしまうが、下記でもOKであった。

$ gzip exptest.tar
$
$ docker import exptest.tar.gz imptest3
sha256:14bd8c87a2e5942617de7019b130532dcb2d7fd036fe4e156e5618ec4a9ce5a4
$
$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED              SIZE
imptest3                 latest              14bd8c87a2e5        About a minute ago   1.07 GB
  :
$

gzipでも問題ないようである。

以上。

■ 関連

コンテナをファイル出力

Dockerにおいて表題の通り。

■ 環境

  • Docker for Mac 1.12-0-rc2-beta16
  • Mac OSX El Capitan

■ きっかけ

他のユーザやマシン間でコンテナのやりとりをしたい場合はDockerHubを使うのが楽ではあるのだが、今回はコンテナのサイズが大き過ぎたのもあるのかTimedOutしてDockerHubにアップロードできなかった。アップロードに時間が掛かるのもあり、何度もリトライをするのは面倒なので`docker export`でファイルに出力し、そのファイルをやり取りするようにしようと方向転換。

■ export

`export`のヘルプは下記の通り。

$ docker export -h
Flag shorthand -h has been deprecated, please use --help

Usage:    docker export [OPTIONS] CONTAINER

Export a container's filesystem as a tar archive

Options:
      --help            Print usage
  -o, --output string   Write to a file, instead of STDOUT
$

とりあえず実行してみる。対象のコンテナ名称は”exptest“としている。

$ docker export exptest
Cowardly refusing to save to a terminal. Use the -o flag or redirect.
$

“-o“オプションを使用するか、リダイレクトしろとのこと。再度挑戦。

$ docker export exptest > exptest.tar

時間がそれなりに掛かったが上記でexportできた。ちなみに”-o“オプションも試してみた。

$ docker export -o exptest2.tar exptest

これらでできた2つのファイルのサイズとmd5の結果を見てみる。

$ ls -l
  :
-rw-r--r--   1 withsin  staff  1087947264  6 27 19:11 exptest.tar
-rw-------   1 withsin  staff  1087947264  6 27 19:22 exptest2.tar
$
$ md5 exptest.tar
MD5 (exptest.tar) = c252c44d543ebbe81befe7c35d7e1966
$
$ md5 exptest2.tar
MD5 (exptest2.tar) = c252c44d543ebbe81befe7c35d7e1966
$

同じ結果となっている。満足。

以上。

■ 関連

Boostnoteを使用

先日MacにインストールしたBoostnoteを使用してみた。

■ 環境

  • Boostnote 0.5.13
  • Mac OSX El Capitan

■ Boostnote

boostnote-004

md記法で書けるのは便利。Folderも分けられるし、それぞれタグも付けられる。検索もしやすい。

個々のノートを編集するには、ノートをクリックしなければいけないようである。設定で変えられるようであったが、右クリックにしか変更はできなかった。

boostnote-use-002

できれば手をホームポジションから移動させずに編集への移動や、ノートを下にスクロールしたりできると良いな、というのが感想。

また”localStorage“とあったので、これを”localStorage“以外にもできるのか?と思ったが、特にそういった機能はないようである。残念。

もうしばらくいろいろ使ってみることにする。

以上。

■ 関連

Posted in: Mac | Tagged: