Tag: Linux容器

linuxredirectlocalhost端口到URL端口

我需要redirectlocalhost:8080到http://url:8080/ 。 一些背景: 我正在使用docker堆栈服务。 一个服务(MAPS)创build一个简单的http服务器,将xml文件列出到端口8080,另一个服务(WAS)使用具有使用这些文件的连接器的WebSphere Application Server,更精确地说,它调用一个文件maps.xml其他文件的url为http://localhost:8080/<file-name>.xml 。 我知道docker允许我调用服务中的服务名称和端口,因此我可以在我的WAS服务中使用curl http://MAPS:8080/ ,并输出我的xml文件列表。 但是,这并不总是如此。 prod团队可能会更改要发布的端口号,或者他们可能会更新maps.xml文件,并忘记将localhost:8080更改为MAPS:8080。 有没有办法让它,所以任何调用本地主机:8080被redirect到另一个url,最好使用configuration文件? 我也需要它是轻量级的,因为WAS服务已经很重了,我不能使它太大部署。 我试过的解决scheme iptables :安装在WAS服务容器上,但是当我尝试使用它时,说我的内核已经过时了 tinyproxy :试图设置它作为反向代理,但我不能使它的工作 ncat与inetd :试图使用这个解决scheme,但它也没有工作 我不是专家,所以请原谅我做任何noob错误。 并提前致谢!

有没有什么方法可以在运行docker容器中重新装载新的坐骑?

我有一个docker集装箱,它是托pipe我的PC上的jupyter笔记本服务器,从本地主机挂载目录。 我们来调用这个目录/ docker-mount 。 接下来,我在目录/ docker-mount下创build了新的目录,例如/ docker-mount / files ,然后在/ docker-mount / files目录下从其他PC的文件系统挂载了一些基于cifs的存储。 我预计docker集装箱的文件系统可以使用这个networking装载,但它只适用于本地创build的目录文件 ,但不是在文件中装入的所有内容。 我认为这是如何Linux文件系统的作品,但仍然没有信心的想法。 有什么办法可以做到这一点吗?

Letsencrypt + Docker – 处理符号链接的最佳方法?

我有一台在Ubuntu主机上的Docker上运行的Nginx服务器,我想在其上集成Letsencrypt证书。 由于我已经用所有conf设置创build了Nginx镜像,在阅读了不同的文章之后,我决定在主机上安装Letsencrypt,并将/etc/letsencrypt/文件夹挂载到Nginx容器的共享卷中。 我遇到的问题是符号链接属于文件系统本身,无法通过容器parsing,这是有道理的。 我的问题是:什么是最好的方法来处理这个问题:我应该添加我的Nginx自定义Dockerfile中的所有Letsencrypt设置来启动并运行? 是否有可能创build一个单独的容器,只有Letsencrypt并从那里共享一个容量? 或者有可能通过我目前的解决scheme的变化解决这个问题? 请注意,目前我正在创build证书的副本并将其粘贴到卷中,但是我想自动更新(使用certbot renew –dry-run )。 任何帮助深表感谢!

应用程序运行在Linux服务器上的本地Tomcat或Tomcat上,无法在Docker容器中的Tomcat上运行

我有一个Tomcat的问题。 当我将我的应用程序部署到本地计算机上的Tomcat时,它运行得非常完美。 当我将我的应用程序部署到远程服务器上的Tomcat时,它运行得非常完美。 但 当我将应用程序部署到在选项2中运行在同一服务器上的Docker容器中运行的Tomcat时 – 我得到了大量的错误…他们看起来像这样: [ERROR] 2017-12-13 16:14:36 Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/spring/database-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring/database-context.xml]: Invocation of init method […]

客户端证书HttpClient .Net核心Docker Linux

我实现了一个内部REST服务,它使用另一个(外部)REST服务。 HTTPS使用客户端证书(和令牌)保护外部服务。 在第一个实现中,它是一个基于.NET Framework(当然是windows的4.6.2)的服务,代码如下所示: var certificate = new X509Certificate2("./ExternalCert.pfx", "supersecurepassword764689"); var httpClientHandler = new HttpClientHandler { ClientCertificateOptions = ClientCertificateOption.Manual, ClientCertificates = { certificate }, CookieContainer = this.cookieContainer, }; this.httpClient = new HttpClient(httpClientHandler) { BaseAddress = new Uri(url) }; 它工作得很好。 现在我们切换到ASP.NET Core 2(基于.NET Core)和Docker。 在我的Windows机器上进行开发时,上面的代码和.NET Core一起工作。 但是现在,如果我在docker容器(当然是linux)中执行它,它不会再工作了(SSL错误)。 (现在证书被复制到容器图像中,但是计划用docker机密来存储)。 我做了一些研究,似乎* .pfx不能在Linux上工作,你必须生成基于pfx的* .pem文件。 所以我用这个命令生成它: openssl pkcs12 -in ExternalCertificate.pfx […]

持久化/docker容器上的/ etc / passwd

我创build了一个docker镜像,允许用户使用SSH连接它。 出于安全原因,我想用户可以更改他们的密码。 我只使用名为卷的docker,所以我不能绑定/ etc / passwd,我不想挂载所有的/ etc 有任何想法吗? 提前致谢。

Dockercomposer php为新人

我是新来的docker世界,我正在“尝试”为我的PHP源代码做一个docker图像。 到目前为止,我已经提出了一些docker指令。 我已经完成了一个图像。 我知道发现自己想要 input容器 运行composer php安装在我的项目的根 这是我的docker图像的样子 # Pull base image. FROM composer/composer:master-php5 # Install rsync for deployment RUN apt-get update \ && apt-get install -y openssh-client rsync php-soap php5-gd zlib1g-dev libicu-dev g++ git \ && rm -r /var/lib/apt/lists/* #install mysql pdo RUN docker-php-ext-install pdo pdo_mysql soap gd intl # Set correct entrypoint CMD […]

如何用Makefile正确运行docker

我有一个make文件: APP_NAME=sgy-core-bdd/codeception build: ## Build the container docker build -t $(APP_NAME) . run: docker run –entrypoint /bin/bash -i -t -v $(pwd):/app $(APP_NAME) 当我做make run我得到这个错误 make: *** No rule to make target `/app', needed by `run'. Stop. 我如何解决这个错误

当k8s活性探针失败时,发送到在容器中运行的进程的信号是什么? KILL或TERM

我有一个用例来优雅地终止容器,在那里我有一个脚本,通过使用命令“kill PID”从容器内优雅地杀死进程(这将发送TERM信号),但我也有活性探针configuration以及。 目前活性探针configuration为以60秒间隔进行探测。 因此,如果在发送正常终止信号后不久发生活跃性探测,那么当终止仍然在进行时,容器的整体健康状况可能变为CRITICAL。 在这种情况下,活性探测将失败,容器将立即终止。 所以我想知道kubelet是否用TERM或KILL杀死容器。 感谢您的支持预先感谢

Makefile,运行docker容器

我有一个像这样的makefile: APP_NAME=my-cool-project/codeception ROOT_DIR=${PWD} all: docker_build \ docker_run \ composer_build \ codeception_run docker_build: ## Build the container composer install docker_run: docker run –entrypoint /bin/bash -i -t -v $(ROOT_DIR):/app $(APP_NAME) composer_build: composer install codeception_run: vendor/bin/codecept 当我运行make all它不会执行composer php安装,因为它切换到不同的环境(docker运行交互模式)。 即使在与docker进行交互模式时,如何执行作曲者安装和代码运行