Tag: 高山

SSH代理从Mac OS转发到Docker Alpine容器

好吧,对于几个项目,我需要访问我的私人存储库,所以我想转发主机的SSH代理到容器,以允许从这些私人存储库中检索。 最终我想在docker-compose中实现这个。 我发现了很多答案和解决scheme,指出这样的事情: docker run –rm -t -i \ -v $SSH_AUTH_SOCK:/ssh-agent \ -e SSH_AUTH_SOCK=/ssh-agent \ alpine:3.6 sh 但是当我在那里运行ssh-add -l (在确认openssh安装之后) 我得到以下错误: 连接到代理时出错:连接被拒绝 也试过这在我的docker组合设置,但它似乎并没有像它应该的工作。 由于大多数post和解决scheme都是几年之久,所以我希望有人能够帮助我获得准确的最新信息。

AWT错误,同时试图build立Jenkins基于高山的Docker图像 –

我正在尝试构build我自己的Jenkins Docker镜像。 我使用基于Alpine的Jdk Docker镜像 。 我调整了Alpine-Linux的Jenkins Docker镜像 。 我不得不安装一些软件包以便正确构build,但是一旦我运行它,就会出现以下错误: hudson.util.AWTProblem: java.lang.NullPointerException at hudson.WebAppMain.contextInitialized(WebAppMain.java:185) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at winstone.Launcher.<init>(Launcher.java:156) at winstone.Launcher.main(Launcher.java:356) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at Main._main(Main.java:293) at Main.main(Main.java:98) Caused by: java.lang.NullPointerException […]

脚本后不能返回到shell会话

我不能得到一个脚本返回到bash。 该脚本通过以下Docker指令启动: ENTRYPOINT ["/bin/bash", "-c"] CMD ["set -e && /config/startup/init.sh"] 初始化脚本如下所示: #!/bin/bash if [ -d /etc/postfix/init.d ]; then for f in /etc/postfix/init.d/*.sh; do [ -f "$f" ] && . "$f" done fi echo "[x] Starting supervisord …" /usr/bin/supervisord -c /etc/supervisord.conf bash 这是我用来启动映像到一个容器的命令: docker run -it –env-file ENV_LOCAL mailrelay 初始化脚本按预期运行(我可以看到/etc/postfix/init.d/目录下的脚本输出,并且supervisord启动了Postfix。 问题是让脚本返回到父进程(bash)而不是需要启动一个新的。 在点击supervisord ,会话就在那里,需要一个Ctrl + C来让它回到bash提示符。 如果我在init.sh脚本结束时不init.sh […]

检查文件校验和在高山

我得到了这个Alpine好奇的问题。 我想检查bash控制台中的文件的校验和。 它在CentOS下工作,但不在Alpine下工作。 错误在哪里? 在CentOS下 $ sha1sum /bin/tini fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini $ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c – /bin/tini: OK 在高山下 $ sha1sum /bin/tini fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini $ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c – sha1sum: WARNING: 1 of 1 computed checksums did NOT match

docker容器中的高山linux忽略shell脚本参数

我试图创build一个设置自定义tomcat端口的docker镜像(我知道你可以用docker标志设置一个外部端口“-p 8888:8080”,但是对于我的用例,我想改变内部端口) 。 当我尝试启动catalina.sh运行参数由于某种原因被忽略。 Dockerfile: # Tomcat 8 alpine dockerfile copied here (URL below)… minus the CMD line at the end # https://github.com/docker-library/tomcat/blob/5f1abae99c0b1ebbd4f020bc4b5696619d948cfd/8.0/jre8-alpine/Dockerfile ADD server.xml $CATALINA_HOME/conf/server.xml ADD start-tomcat.sh /start-tomcat.sh RUN chmod +x /start-tomcat.sh ENTRYPOINT ["/bin/sh","/start-tomcat.sh"] tomcat文件server.xml和默认的一样,除了这行: <Connector port="${port.http.nonssl}" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> start-tomcat.sh: #!/bin/sh export JAVA_OPTS=-Dport.http.nonssl=${PORT} catalina.sh run 图像build立成功,但是当我运行 docker run -p 8888:8888 -e PORT=8888 […]

如何将dos2unix添加到基于Alpine的docker集装箱?

我有以下dockerfile: FROM haproxy:alpine RUN apk –update add bash && apk –no-cache add dos2unix rsyslog supervisor wget curl ruby which py-setuptools py-pip && pip install awscli && chmod +x /*.sh COPY *haproxy.cfg /etc/ COPY supervisord.ini /etc/ COPY rsyslog.conf /etc/ COPY entrypoint.sh / RUN dos2unix /entrypoint.sh && apt-get –purge remove -y dos2unix ENTRYPOINT ["/entrypoint.sh"] EXPOSE 9999 CMD […]

如何在Alpine Linux中使用bash脚本?

我有兴趣在Docker-Compose中使用wait-for-it来使用一个服务,使用基于Alpine Linux发行版的映像来等待另一个服务。 但是,如果我克隆wait-for-it存储库,并添加到它下面的Dockerfile , FROM alpine RUN apk –update add bash COPY wait-for-it.sh wait-for-it.sh CMD ["./wait-for-it.sh", "www.google.com:80"] 然后,我使用docker build –tag waitforit .来构build它docker build –tag waitforit . 然后docker run waitforit ,但我得到这个错误消息: timeout: can't execute '15': No such file or directory wait-for-it.sh: timeout occurred after waiting 15 seconds for www.google.com:80 相比之下,这是我在(Ubuntu 16.04 LTS)计算机上运行此命令时看到的: wait-for-it.sh: waiting 15 seconds […]

无法在alpine linux上使用openjdk 8初始化类sun.awt.X11FontManager

当使用openjdk 8和这个docker镜像时,我得到了这个堆栈跟踪:openjdk:8-jre-alpine java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_131] at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_131] at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82) [rt.jar:1.8.0_131] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_131] at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) [rt.jar:1.8.0_131] at java.awt.Font.getFont2D(Font.java:491) [rt.jar:1.8.0_131] at java.awt.Font.getFontName(Font.java:1279) [rt.jar:1.8.0_131] at java.awt.Font.getFontName(Font.java:1261) [rt.jar:1.8.0_131] 它使用Oracle版本正常工作 遵循一些方向从这里安装dejavu字体: https ://hub.docker.com/r/neduekwunife/openjdk8-jre-alpine-with-fontconfig/ 我将下面一行添加到我的Dockerfile中: RUN apk add –update ttf-dejavu && rm -rf /var/cache/apk/* 现在给我以下错误: java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: Error relocating /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: AWTFontDefaultChar: […]

执行到kubernetes / Docker中的Pods /容器,从不包含预装bash的图像创build

我试图从此映像创buildhaproxy-ingress吊舱,使用以下命令: kubectl -n kube-system exec -it haproxy-ingress-4122301161-bcd94 /bin/bash 然后我得到这个消息 rpc error:code = 13 desc =无效的头字段值“oci运行时错误:exec失败:container_linux.go:247:启动容器进程导致\”exec:\\“/ bin / bash \\”:stat / bin / bash :没有这样的文件或目录\“\ n” 有没有一种方法来执行一个容器,使用没有预装bash的图像创build的容器?

selectGolang泊坞窗基础图像

图像golang和alpine大小差异大约300Mb 。 使用golang图像而不是普通的alpine什么好处?