質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

3505閲覧

CentOS7 の docker コンテナで /var/log の tmpfs マウントをやめたい

mit0223

総合スコア3401

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2017/08/16 14:27

###前提・実現したいこと
CentOS 7 の docker コンテナで /var/log の tmpfs マウントをやめたいです。
rpm でインストール時に作成された /var/log 配下のディレクトリがなくなってしまうことと、 stop -> start でログが消えてしまうことの2つを避けたいです。

###発生している問題・エラーメッセージ
docker コンテナ内で mount コマンドで確認すると /var/log に tmpfs がマウントされており、 Dockerfile で作成したディレクトリ /var/log/dummy がなくなっています。

$ docker exec -it test /bin/bash # mount | grep tmpfs tmpfs on /dev type tmpfs (rw,nosuid,mode=755) tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755) shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k) tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,size=65536k,mode=755) tmpfs on /var/log type tmpfs (rw,nosuid,nodev,relatime,size=65536k,mode=755) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) # ls /var/log btmp journal wtmp

###該当のソースコード
テスト用に作成した Dockerfile は以下の通り

Dockerfile

1FROM centos:7 2RUN mkdir /var/log/dummy 3CMD ["/sbin/init"]

起動コマンドは以下の通り。

docker run -d --privileged --name=test test

###試したこと
いろいろ検索してみましたが、この tmpfs がどのような仕組みで mount されているかがわかりませんでした。普通に CentOS7 をインストールしても /var/log に tmpfs はマウントされませんが、どこに違いがあるのかわかりませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)
テストは Mac OS 内の VirtualBox の CentOS7 のマシン内で実行しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

すみません、自己解決しました。

まず、 Redhat の bugzilla で記載を発見しました。
Bug 1412728 - Bind mount on /var/log seems to be over shadowed [NEEDINFO]

それで、コンテナのホスト側の oci-systemd-hook をバージョンアップしました。

$ yum list oci-systemd-hook 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.jaist.ac.jp * elrepo: ftp.ne.jp * elrepo-kernel: ftp.ne.jp * epel: ftp.jaist.ac.jp * extras: ftp.jaist.ac.jp * updates: ftp.jaist.ac.jp インストール済みパッケージ oci-systemd-hook.x86_64 1:0.1.4-9.git671c428.el7 @extras 利用可能なパッケージ oci-systemd-hook.x86_64 1:0.1.7-4.gite533efa.el7 extras $ sudo yum update oci-systemd-hook (略)

その後、テストしてみると、

$ docker run -d --privileged --name=test test 79a99b769d028e6bf27dfab2952d7348b78033b510ed7233375c4fdbc5f49e57 $ docker exec -it test /bin/bash [root@79a99b769d02 /]# mount | grep tmpfs tmpfs on /dev type tmpfs (rw,nosuid,mode=755) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k) tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,size=65536k,mode=755) tmpfs on /var/log/journal type tmpfs (rw,nosuid,nodev,relatime,size=65536k,mode=755) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime) [root@79a99b769d02 /]# ls /var/log anaconda btmp dummy journal wtmp

/var/log のマウントはなくなって、 /var/log/dummy が見えている状態になりました。oci-systemd-hook が何をする人かとかわかっていませんが、とりあえず、解決しました。

投稿2017/08/16 22:39

mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問