小编Mer*_*gic的帖子

当docker-compose的一部分时,自定义nginx容器立即退出

我正在尝试使用简单的nginx容器设置来学习如何使用docker compose,该容器将请求重新路由到ghost容器.我正在使用标准的鬼影,但有一个自定义的nginx图像(继承自标准图像).

当我使用"docker-compose up"运行合成时,它立即退出"docker_nginx_1退出代码0".但是,当我手动构建并运行它时,它运行正常,我可以将浏览器导航到容器并查看默认的nginx页面.我对我的compose文件有什么误解,导致它的行为与自定义构建不同?我可以改变什么让它继续运行?

免责声明:我也在学习nginx,所以一次学习两件事可能会给我带来不应有的问题.

编辑:原始文件有点复杂,但我简单地将问题简化为:如果我使用构建命令的自定义图像除了从默认的nginx图像继承,它立即退出.如果我使用默认的nginx图像,它可以工作.这些是现在相关的文件:

撰写文件:

ghost:
 expose:
   - "2368"
 image: ghost

nginx:
  # image: nginx << If I use this instead of my custom build, it doesn't exit
  build: ./nginx
  ports:
    - "80:80"
    - "443:443"
  links:
   - ghost
Run Code Online (Sandbox Code Playgroud)

nginx的/ Dockerfile:

FROM nginx
Run Code Online (Sandbox Code Playgroud)

原始文件(使用与上面相同的撰写文件):

nginx的/ Dockerfile:

FROM nginx
RUN rm /etc/nginx/nginx.conf
COPY conf/nginx.conf /etc/nginx/nginx.conf
COPY conf/sites-available/ghost /etc/nginx/sites-available/ghost
RUN mkdir /etc/nginx/sites-enabled
RUN ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

EXPOSE 80 443

# Is this even the right command I have no idea …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-compose

22
推荐指数
4
解决办法
3万
查看次数

在Kotlin中以任何方式从相同的通用接口继承两次(使用不同的类型)?

我在我的代码中有一个场景,我想要一个类来实现两个不同类型的接口,比如这个例子:

interface Speaker<T> {
    fun talk(value: T)
}

class Multilinguist : Speaker<String>, Speaker<Float> {
    override fun talk(value: String) {
        println("greetings")
    }

    override fun talk(value: Float) {
        // Do something fun like transmit it along a serial port
    }
}
Run Code Online (Sandbox Code Playgroud)

Kotlin对此不满意,引用:

Type parameter T of 'Speaker' has inconsistent values: kotlin.String, kotlin.Float
A supertype appears twice
Run Code Online (Sandbox Code Playgroud)

我知道一个可能的解决方案是实现以下代码,我在其中实现接口,<Any>然后自己检查类型并将它们委托给它们的函数.

interface Speaker<T> {
    fun talk(value: T)
}

class Multilinguist : Speaker<Any> {
    override fun talk(value: Any) {
        when (value) {
            is String -> …
Run Code Online (Sandbox Code Playgroud)

generics interface multiple-inheritance kotlin

21
推荐指数
1
解决办法
2086
查看次数