小编Ale*_*ski的帖子

docker-compose 并在初始化时在 Postgres 中创建数据库

我有个问题。我对 docker 很陌生,所以我想要做的是创建一个 docker-compose 文件,该文件在 compose 命令上也将创建数据库。问题是它没有像我问的那样创建数据库。所以我的 docker-compose 看起来像:

version: '3'

services:
  db:
    image: postgres:latest
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: 'postgres'
    volumes:
      - database_data:/var/lib/postgresql/data
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql

volumes:
  database_data:
    driver: local
Run Code Online (Sandbox Code Playgroud)

当我在日志中启动 docker-compose up 时,我可以看到

db_1  | PostgreSQL Database directory appears to contain a database; Skipping initialization
db_1  |
db_1  | 2020-01-13 11:14:36.259 UTC [1] LOG:  starting PostgreSQL 12.1 (Debian 12.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
db_1  | 2020-01-13 11:14:36.259 UTC [1] LOG:  listening on …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

13
推荐指数
5
解决办法
2万
查看次数

使用 JIB 构建 Docker CMD 或 RUN

我需要创建一个基于 Ubuntu 的自定义映像,其中包含我需要使用 apt 安装的软件。例如:

sudo apt-get install pcscd 
sudo apt-get install pcsc-tools # same as pcsc-lite   

# For OMNIKEY for driver Then unpack the file and run the installer:
cd /home/cccam/ifdokccid_lnx_x64-3.7.0/ 
chmod 755 install
sudo ./install
Run Code Online (Sandbox Code Playgroud)

我还希望该软件能够在 OpenJDK 1.8 64 位下运行,我也将安装它。重点是我需要运行这样的命令。我怎样才能用 JIB 做到这一点?有没有办法让 JIB 使用 Docker 文件?有没有办法将这样的命令脚本传递到 JIB 中?

spring-boot jhipster jib

7
推荐指数
1
解决办法
7205
查看次数

`server.servlet.session.persistent` 的默认值

我从 Spring Boot 文档中看到server.servlet.session.persistentoption 的默认值是,false但在我的应用程序中这true很奇怪,因为我没有显式修改它。我猜 Spring Security、Spring Session 或 Spring Redis 集成会将其转换为true. 也许这里有人知道这种行为的根源?

PS我使用Spring Boot 2.1.5。

我的 pom XML。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>ru.geekmarket</groupId>
    <artifactId>geek-market-ui</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>geek-market-ui</name>
    <description>Geek market e-commerce study project</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-springsecurity5</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat spring-boot spring-session

4
推荐指数
1
解决办法
2598
查看次数

将容器中的文件夹公开为 Kubernetes Pod 中的卷

我有一个包含两个容器的容器。一个容器是一个 Web 应用程序,另一个容器存储该 Web 应用程序的一些静态数据。

这里的数据是一组文件,它们以名称存储在该容器的文件夹中,/data这只是容器存储这些数据并将其公开给 Web 应用程序的功能。

我正在寻找与此 Pod 中的 Web 应用程序容器共享此文件夹的内容的方法。

如果我使用 YAML 规范,两个容器中的文件夹下面都是空的。有没有办法在不清理容器文件夹的情况下共享数据?

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
  labels:
    app: my-app
    version: 1.2.3
spec:
  volumes:
    - name: my-app-data-volume

  containers:
    - name: my-app-server
      image: my-app-server-container-name
      volumeMounts:
        - name: my-app-data-volume
          mountPath: /data
      ports:
        - containerPort: 8080

    - name: my-app-data
      image: my-app-data-container-name
      volumeMounts:
        - name: my-app-data-volume
          mountPath: /data
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-volume

3
推荐指数
1
解决办法
1729
查看次数