修改wso2sp的基本映像后无法创建容器

问题描述 投票:1回答:1

我正在尝试在WSO2SP容器中安装Python。

这是我的Dockerfile在/ alpine / base目录中。

# set base docker image to adoptopenjdk alpine based docker image
FROM adoptopenjdk/openjdk8:jdk8u212-b03-alpine
MAINTAINER WSO2 Docker Maintainers "[email protected]”

# set user configurations
ARG USER=wso2carbon
ARG USER_ID=802
ARG USER_GROUP=wso2
ARG USER_GROUP_ID=802
ARG USER_HOME=/home/${USER}
# set dependant files directory
ARG FILES=./files
# set wso2 product configurations
ARG WSO2_SERVER=wso2sp
ARG WSO2_SERVER_VERSION=4.4.0
ARG WSO2_SERVER_PACK=${WSO2_SERVER}-${WSO2_SERVER_VERSION}
ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER_PACK}
ENV ENV=${USER_HOME}"/.ashrc"

# install required packages
RUN  apk add --update --no-cache netcat-openbsd && \
     rm -rf /var/cache/apk/*

# create a user group and a user
RUN  addgroup -g ${USER_GROUP_ID} ${USER_GROUP}; \
     adduser -u ${USER_ID} -D -g '' -h ${USER_HOME} -G ${USER_GROUP} ${USER} ;

# MOTD login message
RUN echo 'printf "Welcome to WSO2 Docker resources.\n\
----------------------------------\n\
The Docker container contains the WSO2 product with its latest updates,\n\
which are under the End User License Agreement (EULA) 2.0.\n\
Read more about EULA 2.0 (https://wso2.com/licenses/wso2-update/2.0).\n"' > "$ENV"

# copy the wso2 product distribution to user's home directory
COPY --chown=wso2carbon:wso2 ${FILES}/${WSO2_SERVER_PACK}/ ${WSO2_SERVER_HOME}/
# copy the Kafka client jars to the product home
COPY --chown=wso2carbon:wso2 ${FILES}/kafka_2.11-0.10.2.1.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/kafka-clients-0.10.2.1.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/metrics-core-2.2.0.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/scala-library-2.11.8.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/scala-parser-combinators_2.11-1.0.4.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/zkclient-0.10.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/zookeeper-3.4.9.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/
COPY --chown=wso2carbon:wso2 ${FILES}/mysql-connector-java-8.0.17.jar ${USER_HOME}/${WSO2_SERVER_PACK}/lib/

# set environment variables
ENV WSO2_SERVER_HOME=${WSO2_SERVER_HOME} \
    WORKING_DIRECTORY=${USER_HOME}

# set the user and work directory
USER ${USER_ID}
WORKDIR ${USER_HOME}

USER root
RUN apk add --update \
    python3 \
    python-dev \
    py-pip \
    build-base \
    vim \
  && pip install virtualenv \
  && rm -rf /var/cache/apk/* \
  && pip install flask

我能够成功构建基础,仪表板,编辑器和辅助图像。

[当我尝试提起容器时,这是重复出现的错误,直到出现Mount verification timed out消息。

Waiting for all volumes to be mounted...
Directory /home/wso2carbon/wso2-config-volume does not exist
Waiting for the volume to be mounted...
Retrying...
Directory /home/wso2carbon/wso2-config-volume does not exist
Waiting for the volume to be mounted...
Retrying...

我在这里想念什么?

python docker siddhi wso2sp
1个回答
0
投票

您需要再次重置用户:

USER root
RUN apk add --update \
    python3 \
    python-dev \
    py-pip \
    build-base \
    vim \
  && pip install virtualenv \
  && rm -rf /var/cache/apk/* \
  && pip install flask
USER ${USER_ID}

基础图像中的值为:

ARG USER_ID=802

并且您需要在码头文件中包含init.sh,找到它们,例如thisinit.sh将为您创建所需的文件夹

© www.soinside.com 2019 - 2024. All rights reserved.