1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

曖昧にしないためのDockerコンテナ内のディレクトリ構造(抜粋)について(Golang/PostgreSQL編)

Last updated at Posted at 2022-09-30

 Dockerを更に使いこなすため、Dockerコンテナ内のディレクトリ構造を分析してみた。(Treeコマンドが使えないようで、使えるように設定するのも手間なので、すべてマニュアルでディレクトリをのぞきながら階層を記録した。)
 Dockerを使いこなすためには、どのディレクトリをバインドマウントさせるか?どのディレクトリをボリュームマウントさせるか?またどのディレクトリがパスが通っていてシェルスクリプト(.sh)を置くのに最適か、など、ローカル側のOSだけではなく、コンテナ側のディレクトリ構造の絵姿についてもある程度の理解が重要になってくる。
 なお、分析に当たってはLinuxのFHS(Filesystem Hierarchy Standard)の理解がとても重要になってくるが、このFHSについては他に良記事が沢山あるためそちらを参照願いたい。

下記ディレクトリは見やすくするためにアルファベット順にはしておりません。また、GolangとPosrgreSQLは通常別々のコンテナにインストールされることが多いかと思いますが、紙面の都合上、マージして記載しています。

root@89ff808980e1:
 ├─bin
 ├─dev
 ├─go # --------------------------> Golangをインストールした場合に生成されるディレクトリ
 |  ├─bin
 |  |  └─sqlc (:file)
 |  ├─pkg
 |  |  ├─mod
 |  |  └─sumdb
 |  |    └─sum.golang.org
 |  |       └─latest
 |  └─src # ----------------------> バインドマウント
 ├─lib
 ├─media
 ├─opt
 ├─root
 ├─sbin
 ├─sys
 ├─usr
 |  ├─bin
 |  ├─games
 |  ├─include
 |  ├─lib
 |  ├─libexec
 |  ├─local
 |  |  ├─bin # ------------------> シェルを置くのに最適なディレクトリ(パスが通っている)
 |  |  ├─etc
 |  |  ├─games
 |  |  ├─go
 |  |  ├─include
 |  |  ├─lib
 |  |  ├─man
 |  |  ├─sbin
 |  |  ├─share
 |  |  └─src
 |  ├─games
 |  ├─include
 |  ├─lib
 |  ├─libexec
 |  ├─local
 |  ├─sbin
 |  ├─share
 |  └─src
 ├─boot
 ├─home
 ├─lib64
 ├─mnt
 ├─proc
 ├─run
 ├─srv
 ├─tmp
 ├─docker-entrypoint-initdb.d ---> 公式postgresqlをイメージに使用した場合に生成されるディレクトリ(バインドマウント)
 ├─etc
 |  └─postgresql ----------------> 公式postgresqlをイメージに使用した場合に生成されるディレクトリ(バインドマウント)
 |     └─postgresql.conf
 └─var
    └─lib
       └─postgresql -----------> 公式postgresqlをイメージに使用した場合に生成されるディレクトリ
          └─data ---------------> ボリュームマウント(ここにDBのバイナリが格納されている)

これまではREADME.mdにメモがてら書き溜めていた情報を整理抽出し初投稿しました。
投稿するにあたって普段、様々な技術者さんからアドバイスをいただいており、支えてくださってる方々には感謝の念にたえません。
また、もし間違いなどがありましたらご指摘いただけますと幸いです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?