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

Dockerfileでのコンテナ作成

dockerは通常はimageを取得し、コンテナを起動した後、自分独自にライブラリなどをインストールし、出来たものをcommitしますが、Dockerfileをつかえばこの一連の操作をファイルに記録し …

no image

AWSのCLIに関して

実務でAWSを使ってたんですがテスト時にはコマンドを使っている方がはるかに早いためコマンドライン環境を作っておいたほうが良いです。 ちなみに使用する前にはAWSのコンソールからIAMユーザーを作成する …

no image

Addtypeについて

htmlにはPHPを埋め込むことができますが、拡張子がhtmlの場合、そのままでは実行できません。 この場合、通常では拡張子を変えなければいけないところですが、apacheを使っている場合、設定ファイ …

no image

FTPソフトでのアクティブモード&パッシブモードについて

Webアプリを作る場合、基本的にSSHが使えることが前提だったんですが、先日安いサーバーでWebサイトを作る案件があり、FTPでアップをする必要に迫られました。 その時に、「ログインはできているんだけ …

no image

php-fpmに関して

今回はphp-fpmに関して。会社のサーバー(このブログが載っているサーバー)がこれ使ってて、メモリをやたら消費しており、設定を見直す必要があったので、リサーチ。 Contents1 php-fpmと …

アーカイブ