我正在使用以下Dockerfile
和entrypoint.sh
. 我需要以crond
非 root 用户身份在容器中启动服务,但我得到Permission denied
. 如何crond
以非 root 用户身份启动服务?
我需要输入USER
,Dockerfile
因为它是我的 Openshift 3 平台中的强制性管理设置。
文件
FROM centos:centos7.4.1708
RUN yum update -y && yum install -y cronie && rm -rf /var/lib/apt/lists/*
RUN cd / && mkdir /code
ADD entrypoint.sh /code/
RUN chmod -R 755 /code/entrypoint.sh
ENTRYPOINT ["/code/entrypoint.sh"]
RUN useradd -l -u 1001510000 -c "1001510000" 1001510000
USER 1001510000
CMD ["top"]
Run Code Online (Sandbox Code Playgroud)
入口点.sh
#!/bin/bash
echo "in the entrypoint!"
echo "executing id"
id …
Run Code Online (Sandbox Code Playgroud) 问题
探索一种@RequestMapping
无需重新启动JVM即可按需启用/禁用端点的选项。在运行时在端点上实现kill开关。
尝试
我尝试了以下方法,但@RefreshScope
似乎无法使用@ConditionOnProperty
@RestController
@RefreshScope
@ConditionalOnProperty(name = "stackoverflow.endpoints", havingValue = "enabled")
public class MyController {
@Value("${stackoverflow.endpoints}")
String value;
@RequestMapping(path = "/sample", method = RequestMethod.GET)
public ResponseEntity<String> process() {
return ResponseEntity.ok(value);
}
}
Run Code Online (Sandbox Code Playgroud)
使用更新属性
POST /env?stackoverflow.endpoints=anyvalue
Run Code Online (Sandbox Code Playgroud)
并使用重新加载上下文
POST /refresh
Run Code Online (Sandbox Code Playgroud)
此时,控制器返回更新后的值。
题
还有其他方法可以实现所需的功能吗?
runtime environment-variables spring-boot spring-cloud spring-boot-actuator
我有一个需要使用嵌套选项卡和表格的示例。
https://stackblitz.com/edit/angular-bgl1f2
当我切换父选项卡(查看 M2)然后尝试切换子选项卡(M3)时,选项卡不会呈现。仅在多次切换子选项卡 (M3) 后才会进行渲染。
在上面的 Stackblitz 中重现的步骤:
预期结果
表格应显示在子选项卡中 ( M3 33 C )
实际结果
在子选项卡中没有呈现任何内容(M3 33 C)
当您切换到不同的子选项卡,然后返回到子选项卡 ( M3 33 C ) 时,会显示表格。
谁能指出什么是错的?
我无法使用 uWSGI 启动 dockerized Django 应用程序。以下是正在使用的配置。
Dockerfile
FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN apt-get update
RUN apt-get install -y swig libssl-dev dpkg-dev netcat unixodbc-dev python-dev libldap2-dev libsasl2-dev
RUN mkdir /code
WORKDIR /code
COPY app/ /code/
RUN pip install -U pip
ENV PIP_TRUSTED_HOST="pypi.python.org pypi.org files.pythonhosted.org"
RUN apt-get install ca-certificates
RUN pip install -Ur requirements.txt
RUN chmod -R 777 /code
CMD ["/code/run.sh"]
Run Code Online (Sandbox Code Playgroud)
运行sh
#!/bin/bash
./manage.py migrate
uwsgi --ini uwsgi.ini
Run Code Online (Sandbox Code Playgroud)
应用程序/uwsgi.ini
[uwsgi]
http-socket = :8000
chdir = /opt/code/
module = app.wsgi:application
master = …
Run Code Online (Sandbox Code Playgroud) 我已将 wsgi 插入到我的 Django 应用程序中。
我使用的是 macOS High Sierra - 10.13.3。
应用程序使用以下命令运行良好。
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
但是当我使用 wsgi 启动服务器时。它失败。
$> uwsgi --ini uwsgi.ini
dyld: Library not loaded: @rpath/libpcre.1.dylib
Referenced from: /Users/mymac/anaconda3/bin/uwsgi
Reason: image not found
[1] 27677 abort uwsgi --ini uwsgi.ini
Run Code Online (Sandbox Code Playgroud)
uwsgi.ini
[uwsgi]
http-socket = :8000
chdir = /app
module = app.wsgi:application
master = 1
processes = 2
threads = 2
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄清楚 uwsgi 配置有什么问题吗?
django ×2
docker ×2
uwsgi ×2
angular ×1
centos ×1
cron ×1
mat-tab ×1
runtime ×1
spring-boot ×1
spring-cloud ×1
typescript ×1