小编N'u*_*urk的帖子

使用PowerShell时,Docker将图像保存为两倍大小 - 保存原始字节流

Docker版本18.03.1-ce,build 9ee9f40

我正在使用PowerShell在Windows上构建一个大项目.

发出命令时

docker save docker.elastic.co/kibana/kibana > deploy/kibana.docker
Run Code Online (Sandbox Code Playgroud)

我得到一个文件1.4Gb.

在CMD中运行的相同命令产生799Mb图像.

在bash中运行的相同命令产生799Mb图像.

CMD和Bash只需不到一分钟的时间来保存图像,而Powershell大约需要10分钟.

我无法在docker或MS docs中找到这种现象的正常解释.

现在"解决方案"是

Write-Output "Saving images to files"
cmd /c .\deploy-hack.cmd
Run Code Online (Sandbox Code Playgroud)

但我想找到实际的根本原因.

powershell cmd io-redirection docker

9
推荐指数
1
解决办法
192
查看次数

Postgres不会在docker中初始化数据库

我正在尝试创建一个新的 postgres 数据库。

仅供初学者使用 - 创建一个新卷:

docker volume create test
Run Code Online (Sandbox Code Playgroud)

然后开始图像。

docker run  -v test:/var/lib/postgresql/data -p 5432:5432 nec-postgres
Run Code Online (Sandbox Code Playgroud)

现在这是我的 Dockerfile:

FROM postgres:10.4

ENV POSTGRES_USER=user
ENV POSTGRES_PASSWORD=pass
ENV POSTGRES_DB=smdr

COPY *.sql /docker-entrypoint-initdb.d/
Run Code Online (Sandbox Code Playgroud)

看起来很简单,根据https://hub.docker.com/_/postgres/假设创建一个数据库,如果卷为空,则在该数据库上运行初始化脚本。

当我第一次开始我的图像时,我得到了预期的结果:

/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/1_database.sql
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
Run Code Online (Sandbox Code Playgroud)

在初始化之后我看到(再次,如预期的那样)

2018-06-05 06:55:51.855 UTC [37] LOG:  received fast shutdown request
waiting for server to shut down....
2018-06-05 06:55:51.859 UTC [37] LOG:  aborting any active transactions
2018-06-05 …
Run Code Online (Sandbox Code Playgroud)

postgresql docker

5
推荐指数
1
解决办法
8152
查看次数

标签 统计

docker ×2

cmd ×1

io-redirection ×1

postgresql ×1

powershell ×1