Dockerfile
次のコマンドに相当するものをorに入れることはできないという印象を受けていますDockerfile.dev
。
docker run -p 5432:5432 -v /home/app/database/db-files:/var/lib/postgresql/data sockpuppet/database
ローカルポートにバインドするために使用していた-p 5432:5432
ので、pgAdmin で Postgres に接続できました。これは絶対的な要件ではありませんが、あると便利です。おそらく、これを行うより良い方法がありますか?
これ-v /home/app/database/db-files:/var/lib/postgresql/data
により、ローカル ボリュームにデータを永続化できます。
問題はEXPOSE
、Dockerfile
私が知る限り、コンテナ間のポートを開くだけです。の問題は、イメージのファイル システムを参照するだけであるということですVOLUME
。Dockerfile
私が理解するのに苦労しているより大きな問題は、コンテナーを実行するときに Skaffoldskaffold.yaml
がこれらのDockerfile
`Dockerfile.dev` を参照することです。
apiVersion: skaffold/v1beta2
kind: Config
build:
local:
push: false
artifacts:
- image: sockpuppet/client
context: client
docker:
dockerfile: Dockerfile.dev
sync:
'**/*.js': .
'**/*.css': .
'**/*.html': .
- image: sockpuppet/server
context: server
docker:
dockerfile: Dockerfile.dev
sync:
'**/*.js': .
deploy:
kubectl:
manifests:
- k8s/client-deployment.yaml
- k8s/server-deployment.yaml
- k8s/server-cluster-ip-service.yaml
- k8s/client-cluster-ip-service.yaml
で指定できない場合、ポートをバインドしてボリュームをマップするにはどうすればよいDockerfile
でしょうか。docker run -p 5432:5432 -v /home/app/database/db-files:/var/lib/postgresql/data ishraqiyun77/database
DB を起動するたびに手動で実行する必要がありますか?
それが役立つ場合は、参照として使用しているレポ: https://github.com/StephenGrider/DockerCasts/tree/master/complex