首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在码头集装箱中的不正常行为

问在码头集装箱中的不正常行为
EN

Stack Overflow用户
提问于 2019-11-08 20:23:36
回答 1查看 291关注 0票数 0

我试图在一个码头容器中运行cpplint.py。

下面是我用来制作图像衬里的Dockerfile :最新的:

代码语言:javascript
复制
FROM ubuntu:18.04

# update and install dependencies
RUN apt-get update \
    && apt-get -y -qq install software-properties-common \
    && apt-get -y -qq install python3.7 \
    && ln -s /usr/bin/python3 /usr/bin/python

# install our linter
COPY cpplint.py /usr/sbin
RUN chmod +x /usr/sbin/cpplint.py

# install a test file
COPY Types.h .

我像这样操作容器:

代码语言:javascript
复制
$ docker run -it --rm lint:latest bash
root@17a20248ee33:/# cpplint.py Types.h
root@17a20248ee33:/# echo $?
1

它显示cpplint.py返回错误代码。

请注意,运行cpplint.py --help将帮助屏幕显示为正常。太长了,所以我不打算在这里列出来。

在容器外部运行相同的命令很好:

代码语言:javascript
复制
$ ./cpplint.py Types.h
Types.h:0:  No #ifndef header guard found, suggested CPP variable is: _LINT_TYPES_H_  [build/header_guard] [5]
Done processing Types.h
Total errors found: 1

根据码头运行参考,默认情况下,STDOUT和STDERR都附加到终端上。我理解cpplint会将错误写入STDERR,但不要认为这就是为什么在容器中运行时看不到相同的输出。我试过2>&1的操纵,迫使STDERR到STDOUT,并得到了同样的结果。

知道为什么在容器中运行cpplint.py时看不到来自它的输出吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-08 20:48:23

在容器中尝试使用cpplint.py安装pip3

代码语言:javascript
复制
FROM ubuntu:18.04

# update and install dependencies
RUN apt-get update \
    && apt-get -y -qq install software-properties-common \
    && apt-get -y -qq install python3.7 python3-pip \
    && pip3 install cpplint

# install a test file
COPY Types.h .
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58773316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档