skillup

技術ブログ

サーバー・ネットワーク

docker-compose(CentOS7系やMySQLのオプションなど)

投稿日:

以前、docker-composeを使った記事は使ったのですが、

実際にCentOS7やMySQLを扱った時につまづいたことなどを。

CentOS7系のメモ

dockerでコンテナを起動する場合CentOS7(というかsystemctl)を使う場合、通常の起動コマンドである、 docker run -it --name centos イメージ名 /bin/bashをすると Failed to get D-Bus connection: Operation not permitted なるエラーが出て起動できません。

どうやらCentOS7系では(systemctlを使っているため)通常のコマンドでは動かないようです。

オプションとして --privileged を渡して上げるのと起動スクリプトを /sbin/init にする必要があります。

起動コマンドしては下記のようになります。

docker run --privileged -it -d  --name コンテナ名 イメージ名 /sbin/init

ちなみにコンテナにログインする時は通常通り、 docker exec -it コンテナ名 /bin/bash でいいようです。

docker-compose

docker-composeの設定を書くと下記のようになります。

参考リンク

CentOS7 に Docker をインストールし、CentOS7コンテナ上で Apache を起動する

MySQLのdocker-compose

MySQLの場合、コンテナ起動時に

  • 設定ファイルのコピー
  • DB、テーブルの作成
  • 権限の作成

などが可能です。

./mysql/Dockerfile

mysql/init/init.sql

./mysql/my.cnf

docker-compose.yml

上記の用に書いておくとコンテナ起動時に自動的に設定ファイルのコピー、DB、テーブル、権限の作成などを行うことができます。

 

 

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

大規模Webサービス技術入門 DBの分散

前回に引き続き、大規模サービスを運用するときに必要になるMySQLの知識についてのまとめ Contents1 テーブル・SQL設計2 レプリケーション機能3 パーティショニング テーブル・SQL設計 …

no image

nginxのデバッグ

今までいろいろと苦しめられてきた(汗)nginxのデバッグについて。 まず任意の文字や変数をログに出すことができます。 Contents1 変数の出力1.1 rewriteデバッグ2 小ネタ 変数の出 …

no image

set,ifディレクティブ,変数に関して

これまで基本的なnginxの設定についてみてきましたが、今回はset,ifディレクティブについてみていきます。 Contents1 変数とset2 error_page3 名前付きlocation 変 …

no image

OSキャッシュの仕組み

大規模サービス技術入門のつづきです。 主にOSのキャッシュメモリについてです。 メモリとディスクの速度差は10万倍~100万倍 いかにディスクへのアクセスを減らすかがポイント OSは各プロセスにメモリ …

アーカイブ