個人的によく使う Docker コマンドのまとめ

Docker Hub  からコンテナイメージを取得する
docker pull [コンテナイメージ名]


イメージを確認する
docker images 

 

イメージを削除する
docker rmi [コンテナイメージのID]

 

コンテナを作成する(シェルから Exit するときにコンテナを削除)
docker run -it --rm [コンテナイメージ名] /bin/bash

 

--rm  シェルから Exit するときにコンテナを削除する 
コンテナを作成する(コンテナ名をつける)
docker run -it --name [コンテナ名] -d [コンテナイメージ名]

-d --detach コンテナをバックグラウンドで実行し、コンテナ ID を表示する

 

コンテナを作成する(ホストのディレクトリををマウントする)
docker run -it -v [マウント元のパス]:[マウント先のパス] -d [コンテナイメージ名]

-v --volume [ホストのディレクトリパス]:[ゲストのディレクトリパス] ホストのディレクトリををマウントする

 

コンテナを作成する(ゲストのポートをホストに転送する)
docker run -it -d -p [公開ポート番号]:[コンテナのポート番号] [コンテナイメージ名]

-p  ホストの公開ポート番号:コンテナのポート番号  ポート番号の指定 
--rm  シェルから Exit するときにコンテナを削除する 

 

コンテナを作成する(コンテナ名付与、ホストのディレクトリををマウント、ポート番号転送)
docker run -it --name [コンテナ名] -v [マウント元のパス]:[マウント先のパス] -d -p [公開ポート番号]:[コンテナのポート番号] [コンテナイメージ名]


起動しているコンテナを確認する
docker ps 

 

すべてのコンテナを確認する
docker ps -a 


コンテナを起動する
docker start [コンテナのID]


起動中のコンテナにログインする
docker exec -it [コンテナのID] /bin/bash 


コンテナを削除する
docker rm [コンテナのID]

 

コンテナ名を変更する
docker rename [変更前のコンテナ名] [変更後のコンテナ名]

 

※コンテナIDを指定する場合は先頭から数文字でも OK

今まで使えてたExcelのVBAツールでエラーが起きてしまった場合の対処法

Excel2007とExcel2003以前を共存させている人って結構多いはず。
そういう環境で、今まで使えてたExcelVBAツールを久しぶりに使ってみると、・・・つ、使えない。という時のチェックポイントの1つがこれ。

その他の注意点

システムに複数バージョンの Office をインストールしているときの Office オートメーションは、一般的にバージョン固有の特定の PROGID を使用して読み込むバージョンを指定できると認識されていますが (たとえば、"Excel.Application.9" の場合は Excel 2000、"Excel.Application.10" の場合は Excel 2002、"Excel.Application.11" の場合は Office Excel 2003 を読み込む)、これは正しくありません。Excel 2000 およびそれ以降のバージョンの Excel は同一の CLSID を共有しているため、これらの PROGID を使用して読み込まれるバージョンは、単に、どのバージョンが最後にインストールされたかということで決まります。

複数のバージョンの Office がインストールされている場合の Office オートメーションについて | Microsoftサポートオンライン より

すでにどこかで言及されているかもしれないけど、そもそも、この仕様がおかしくないですか?

今回、Excelを使った既存システムがあって、そのシステムを使って作業しようとしたところ同じところで必ずエラー。常々色んなものを起動しっぱなしの環境だったので、メモリ不足かなーって思い、それらをまず終了。でもって再度トライ。と思いきやそれでもエラー。

なんでかなーって思いながら鼻歌を鼻ずさみながら、ちょっと探したらMicrosoftのサイトに関連すると思わしき上記の記事がありました。

僕の環境も、2003と2007が共存してるので、システムのExcelをオートメーションで扱う部分で2007が呼ばれてエラーを起こしているというのは疑う余地もないですね。

コマンドラインから、次みたいに実行すればOKだよってMicrosoftの人が書いてました。

"c:\program files\microsoft office\office\excel.exe" /regserver

これを、僕の環境(Excel2003)に合わせて、

"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" /regserver

で実行すると、Office2003を設定していますとかなんとかダイアログメッセージが表示されました。とりあえずこれだけで良いみたいですね。

このスイッチは、テストや開発の目的には使用できますが、運用時の手段として使用することはお勧めできません。

何を!

・・・だそうなので、戻すときは、

"C:\Program Files\Microsoft Office\OFFICE12\EXCEL.EXE" /regserver

にするとよろし。

その後、システムを起動して、今までエラーを起こしていた部分の作業を実行してみると・・・やったー、大丈夫みたいです。と、思いきやまた別なエラーが。今度はExcelのせいじゃないと思う。

懐かしのwemaに付箋スパム

wemaというのは、付箋指向のwikiです。wema・・・懐かしい。ちょっと検索してみただけですけど、今は利用者もほとんどいない様子。

しかし、オンライン付箋のニーズは、やはりあるようで、

lino - オンライン付箋サービス

という、まるでwemaのパワーアップ版みたいなオンライン付箋サービスも公開されていますね。

で、なぜ今頃wemaかというと、僕の所属してる組合のWGで、アイディアのシェア&整理用としてかなり前にWebサーバー上へ設置していたwemaに、今回のGW中から多数の付箋スパム(というのでしょうか?)が・・・。

このwemaを使ったサイト自体、目的を果たし用済みだったので、しばらく放置しっぱなしでした。内容も大した事なかったので特に制限もかけずにいたんです。そんな中、先ほどちょっと手も空いたので、僕が管理している全てのサイトの整理を出来る分だけでもしようと思い、放置状態のサイトを確認しては整理するという作業中に遭遇しました。

wemaも見た目が付箋紙とはいえ、一種のwikiなので、何も制限をかけていなければスパム対象になるのは当然といえば当然なんですけどね。・・・付箋スパムか。

で、単純にwema上から削除しようとしても、なぜか削除できなかったので、FTPクライアントを使って該当ファイルを削除しました。

以下の箇所に付箋内容を保存しておくテキストファイルがあるのでそれを直接削除しました。

wema/pages/FrontPage

wemaは、手軽で便利だったのでその昔、なにかと重宝させてもらったのを思い出しました。

オンライン付箋サービスのlinoも機会があれば使ってみたいと思います。

Drupal の CSS Injector モジュールによる ルールの追加・編集が出来なくなった場合の対処法

この小憎たらしい不具合は、Drupal6.2 へのアップデート後に起きてた様子。

Adding/editing CSS injector under Drupal 6.2 not allowed | drupal.org

僕と同じ悩みを抱えていた方がいました。・・・同志よ。

CSS injector モジュールのオフィシャルな対応がまだの様子なので、この内容の通りにモジュールを修正。

css_injector.module を以下の通り修正。

function css_injector_menu() {
  $items = array(
    'admin/settings/css_injector' => array(
      'title' => 'CSS injector',
      'description' => 'Add CSS to the page output based on configurable rules.',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_admin_form'),
      'access callback' => 'user_access',
      'access arguments' => array('administer css injection'),
      'file' => 'css_injector.admin.inc',
    ),
    'admin/settings/css_injector/edit' => array(
      'title' => 'Edit CSS injector rule',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_edit'),
      'file' => 'css_injector.admin.inc',
      'type' => MENU_CALLBACK,
      'access callback' => 'user_access',  // 追加
      'access arguments' => array('administer css injection'),  // 追加
    ),
    'admin/settings/css_injector/add' => array(
      'title' => 'Add CSS injector rule',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_edit'),
      'file' => 'css_injector.admin.inc',
      'type' => MENU_CALLBACK,
      'access callback' => 'user_access',  // 追加
      'access arguments' => array('administer css injection'),  // 追加
    ),
    'admin/settings/css_injector/delete' => array(
      'title' => 'Delete CSS injector rule',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_delete_confirm'),
      'file' => 'css_injector.admin.inc',
      'type' => MENU_CALLBACK,
      'access callback' => 'user_access',  // 追加
      'access arguments' => array('administer css injection'),  // 追加
    ),
  );
  return $items;
}

プリン食べよう。

Drupal の CSS Injector モジュールでアクセスが拒否される

みなさんこんにちは。

先日ですね、DrupalCSS Injector というモジュールをインストールしたんです。

これがですね、特定のページだけに適用させたいちょっとしたCSSを定義し、適用させたりさせなかったりするページを割り当てるなんて事が簡単に出来るので、かなり重宝していたんです。ところがですね、設定したルールにいつの間にかアクセスを拒否されるようになっていました。実に不愉快ですね。

なぜこうも僕が CSS Injector モジュールに嫌われてしまったのか、追跡調査していきたいと思います。

Drupal は、なかなか頼もしいやつなので頼りっぱなしです。