退出代码127和':没有此类文件或目录`

CodeMed

下面的容器``退出,代码127和消息': No such file or directory

为了解决此错误,需要进行哪些特定的更改才能使容器成功运行?


码头工人检查

以下是的结果docker ps -a -q,然后是docker inspect 1d86d855a3d1

C:\projects\docker\crowd\atlassian-crowd-docker>docker ps -a -q
1d86d855a3d1

C:\projects\docker\crowd\atlassian-crowd-docker>docker inspect 1d86d855a3d1
[
    {
        "Id": "1d86d855a3d13d7b9e695cce9490b6f4700c61027287f7383110cf6937d81b3b",
        "Created": "2018-07-25T23:30:58.584251386Z",
        "Path": "/opt/start.sh",
        "Args": [
            "run"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 127,
            "Error": "",
            "StartedAt": "2018-07-25T23:37:02.200147887Z",
            "FinishedAt": "2018-07-25T23:37:02.192281696Z"
        },
        "Image": "sha256:0176cf7cd57ac2b73eb4a0fc4fb907fcd6ab772a5c5e9b9ce3e45a32e8d66d1d",
        "ResolvConfPath": "/mnt/sda1/var/lib/docker/containers/1d86d855a3d13d7b9e695cce9490b6f4700c61027287f7383110cf6937d81b3b/resolv.conf",
        "HostnamePath": "/mnt/sda1/var/lib/docker/containers/1d86d855a3d13d7b9e695cce9490b6f4700c61027287f7383110cf6937d81b3b/hostname",
        "HostsPath": "/mnt/sda1/var/lib/docker/containers/1d86d855a3d13d7b9e695cce9490b6f4700c61027287f7383110cf6937d81b3b/hosts",
        "LogPath": "/mnt/sda1/var/lib/docker/containers/1d86d855a3d13d7b9e695cce9490b6f4700c61027287f7383110cf6937d81b3b/1d86d855a3d13d7b9e695cce9490b6f4700c61027287f7383110cf6937d81b3b-json.log",
        "Name": "/practical_kalam",
        "RestartCount": 0,
        "Driver": "aufs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "8443/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8443"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "shareable",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                26,
                107
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0
        },
        "GraphDriver": {
            "Data": null,
            "Name": "aufs"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "1d86d855a3d1",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8080/tcp": {},
                "8443/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin",
                "LANG=C.UTF-8",
                "JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk/jre",
                "JAVA_VERSION=8u151",
                "JAVA_ALPINE_VERSION=8.151.12-r0",
                "CATALINA_HOME=/usr/local/tomcat",
                "TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib",
                "LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib",
                "GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23",
                "TOMCAT_MAJOR=9",
                "TOMCAT_VERSION=9.0.2",
                "TOMCAT_SHA1=b59e1d658a4edbca7a81d12fd6f20203a4da9743",
                "TOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz \thttps://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz \thttps://www.apache.org/dist/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz \thttps://archive.apache.org/dist/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz",
                "TOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz.asc \thttps://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz.asc \thttps://www.apache.org/dist/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz.asc \thttps://archive.apache.org/dist/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz.asc",
                "CROWD_HOME=/opt/crowd/home",
                "CROWD_INSTALL=/opt/crowd/webapp",
                "CROWD_USER=crowd",
                "CROWD_GROUP=crowd",
                "CROWD_VERSION=2.12.0",
                "MYSQL_CONNECTOR_VERSION=5.1.39"
            ],
            "Cmd": [
                "run"
            ],
            "ArgsEscaped": true,
            "Image": "debian-crowd",
            "Volumes": null,
            "WorkingDir": "/usr/local/tomcat",
            "Entrypoint": [
                "/opt/start.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "org.label-schema.vcs-url": "https://github.com/Dwolla/atlassian-crowd-docker"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "7044cebfde1cd851bae7cc5a5034b4af87318ed89062074bf7236e168c422a6a",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/7044cebfde1c",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "bcec3d0b3e8a17638d85d6419deadd4bdd4150659d60358ebb1737e1ac306710",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]


码头工人日志

C:\projects\docker\crowd\atlassian-crowd-docker>docker logs 1d86d855a3d1
': No such file or directory
': No such file or directory


Docker文件

Dockerfile看起来像:

FROM tomcat:9.0-alpine
MAINTAINER Dwolla Engineering <[email protected]>

LABEL org.label-schema.vcs-url="https://github.com/Dwolla/atlassian-crowd-docker"

ENV CROWD_HOME=/opt/crowd/home \
    CROWD_INSTALL=/opt/crowd/webapp \
    CROWD_USER=crowd \
    CROWD_GROUP=crowd \
    CROWD_VERSION=2.12.0 \
    MYSQL_CONNECTOR_VERSION=5.1.39 

EXPOSE 8443

COPY redirector /opt/redirector

RUN apk update && \
    apk add --update curl ca-certificates jq groff less python py-pip bash openssl openjdk8 && \
    curl https://www.digicert.com/CACerts/GTECyberTrustGlobalRoot.crt | openssl x509 -inform der -outform pem -out /usr/local/share/ca-certificates/GTECyberTrustGlobalRoot.crt && \
    update-ca-certificates && \
    rm -rf ${CATALINA_HOME}/webapps/* && \
    mkdir -p ${CROWD_HOME} ${CROWD_INSTALL} ${CATALINA_HOME}/conf/Catalina/localhost && \
    cd /opt && \
    curl -vL -o ${CROWD_INSTALL}/crowd.war https://www.atlassian.com/software/crowd/downloads/binary/atlassian-crowd-${CROWD_VERSION}-war.zip && \
    cd ${CROWD_INSTALL} && unzip -n crowd.war && rm crowd.war && cd - && \
    curl -vL -o /tmp/mysql-connector.tgz https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${MYSQL_CONNECTOR_VERSION}.tar.gz && \
    tar xzf /tmp/mysql-connector.tgz mysql-connector-java-${MYSQL_CONNECTOR_VERSION}/mysql-connector-java-${MYSQL_CONNECTOR_VERSION}-bin.jar && \
    mv mysql-connector-java-5.1.39/mysql-connector-java-${MYSQL_CONNECTOR_VERSION}-bin.jar ${CATALINA_HOME}/lib/mysql-connector-java-${MYSQL_CONNECTOR_VERSION}-bin.jar && \
    pip install --upgrade pip && \
    pip install awscli && \
    sed -i s_securerandom.source=file:/dev/random_securerandom.source=file:/dev/urandom_ $JAVA_HOME/lib/security/java.security && \
    curl -vL "https://dl.bintray.com/sbt/native-packages/sbt/0.13.15/sbt-0.13.15.tgz" | \
    gunzip | tar -x -C /usr/local && \
    cd /opt/redirector && \
    /usr/local/sbt/bin/sbt clean test package && \
    mkdir -p ${CATALINA_HOME}/webapps/ROOT && unzip -d ${CATALINA_HOME}/webapps/ROOT target/scala-2.11/*.war && \
    apk --purge -v del py-pip openjdk8 && \
    rm -rf /var/cache/apk/* /opt/redirector /usr/local/sbt /tmp/* /root/.ivy2/ /root/.sbt/ /root/.cache/ && \
    ls -al /usr/lib/jvm/java-1.8-openjdk/jre

COPY context.xml.tmpl /opt/context.xml.tmpl
COPY server.xml ${CATALINA_HOME}/conf/server.xml
COPY crowd.cfg.tmpl /opt/crowd.cfg.tmpl
COPY start.sh /opt/start.sh
COPY jars/* ${CATALINA_HOME}/lib/

ENTRYPOINT ["/opt/start.sh"]
CMD ["run"]  


start.sh

start.sh 好像:

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'

aws s3 cp ${DATABASE_CONFIG_OBJECT} ${CROWD_HOME}/crowduser.json
aws s3 cp ${CROWD_CONFIG_OBJECT} ${CROWD_HOME}/config.json

if aws s3 ls ${CROWD_SECRETS_OBJECT} > /dev/null; then
  aws s3 cp ${CROWD_SECRETS_OBJECT} ${CROWD_HOME}/config_secrets.json
else
  cat <<__CONFIG_SECRETS_END__ > ${CROWD_HOME}/config_secrets.json
{
  "application_password": ""
}
__CONFIG_SECRETS_END__
fi

# Set up JNDI resources in Tomcat root context
tmpl=$(cat /opt/context.xml.tmpl | sed 's_"_\\"_g')
printf "\"%s\"" "$tmpl" | jq -r -f /dev/stdin ${CROWD_HOME}/crowduser.json > ${CATALINA_HOME}/conf/Catalina/localhost/crowd.xml

tmpl=$(cat /opt/crowd.cfg.tmpl | sed 's_"_\\"_g')
printf "\"%s\"" "$tmpl" | jq -r -f /dev/stdin ${CROWD_HOME}/config.json > ${CROWD_HOME}/crowd.cfg.xml

cat <<__PROPERTIES_END__ | xargs -0 printf "\"%s\"" | jq -r -f /dev/stdin ${CROWD_HOME}/config_secrets.json > ${CROWD_HOME}/crowd.properties
session.lastvalidation=session.lastvalidation
session.tokenkey=session.tokenkey
crowd.server.url=https\\\://localhost:8443/crowd/services/
application.login.url=https\\\://${CROWD_SERVER_URL}/crowd
crowd.base.url=https\\\://${CROWD_SERVER_URL}/crowd/
application.name=crowd
http.timeout=30000
session.isauthenticated=session.isauthenticated
session.validationinterval=0
application.password=\(.application_password)
__PROPERTIES_END__

cat <<__CROWD_INIT_END__ > ${CROWD_INSTALL}/WEB-INF/classes/crowd-init.properties
crowd.home=${CROWD_HOME}
__CROWD_INIT_END__

openssl req -x509 \
    -newkey rsa:4096 \
    -keyout ${CATALINA_HOME}/conf/localhost-rsa-key.pem \
    -out ${CATALINA_HOME}/conf/localhost-rsa-cert.pem \
    -days 365 \
    -nodes \
    -subj "${CROWD_TLS_SUBJ}"

keytool -import \
    -alias crowd \
    -file $CATALINA_HOME/conf/localhost-rsa-cert.pem \
    -keystore $JAVA_HOME/lib/security/cacerts \
    -storepass changeit \
    -noprompt

exec ${CATALINA_HOME}/bin/catalina.sh $@


查尔斯·达菲的建议

进行@CharlesDuffy的建议更改以将打印错误输出到stderr的结果如下:

C:\projects\docker\crowd\atlassian-crowd-docker>docker run -p 8443:8443 mycrowd  
+ PS4=':$BASH_SOURCE:$LINENO+'  
:/opt/start.sh:2+set -x  
:/opt/start.sh:2+$':\r'  
/opt/start.sh: line 2: $':\r': command not found  
:/opt/start.sh:3+set -euo $'pipefail\r'  
: invalid option name: set: pipefail  

然后下一次迭代导致:

C:\projects\docker\crowd\atlassian-crowd-docker>docker run -p 8443:8443 mycrowd
+ PS4=':$BASH_SOURCE:$LINENO+'
:/opt/start.sh:2+set -x
:/opt/start.sh:2+:
:/opt/start.sh:3+set -euo pipefail
:/opt/start.sh:4+IFS='
    '
/opt/start.sh: line 6: DATABASE_CONFIG_OBJECT: unbound variable
查尔斯·达菲

start.sh显然包含DOS换行符。添加新命令:

RUN dos2unix /opt/start.sh

...之后COPY


为了使诊断变得更容易,您可以使外壳使用xtrace日志记录。对这个问题发表评论:

注释掉ENTRYPOINT并将更改CMDCMD ["/bin/bash", "-x", "/opt/start.sh", "run"]日志将在stderr上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Cython代码:Python.h没有此类文件或目录

在 Windows 上从源代码运行 spark - 没有此类文件或目录错误

无法为ios和android添加平台(错误:ENOENT,没有此类文件或目录)

SSH和SCP失败,并显示“ CreateProcessW失败错误:2 posix_spawn:没有此类文件或目录”

无法使用Alamofire 4.1.0,Xcode 8和Swift 3构建项目-没有此类文件或目录

Nginx,Certbot和Docker撰写:/etc/nginx/user.conf.d / *。conf:没有此类文件或目录

对于cxf和websphere没有此类方法错误

mkdir:无法创建目录:没有此类文件或目录

cp:无法创建目录:没有此类文件或目录

无法删除文件-没有此类文件或目录

在Ubuntu 17.04上编译Torch:不支持GCC版本> 5和Gcc错误:gcc:尝试执行'cc1'时出错:execvp:没有此类文件或目录

scp命令上没有此类文件或目录错误

Git推送到远程“没有此类文件或目录”

puma:puma.sock没有此类文件或目录

mdadm安装阵列没有此类文件或目录错误

Makefile-没有此类文件或目录错误

PHPUnit自动加载-没有此类文件或目录

多阶段构建-没有此类文件或目录

Eclipse:构建后没有此类文件或目录

Swift,Alamofire.framework:没有此类文件或目录

拨号unixgram:没有此类文件或目录错误

“拒绝连接”或“没有此类文件或目录”

Xamarin Android中没有此类文件或目录错误

Xcode错误:构建时没有此类文件或目录

“没有此类文件或目录” ODOO10

无法激活virtualenv:没有此类文件或目录

WSL + Scons:没有此类文件或目录

巢:ENOENT:没有此类文件或目录,请打开

mv:无法统计,没有此类文件或目录