我已经build立了一个服务器,通过一个集装箱式的Nginx,从标准的URL提供一个网站。 这个网站工作得很好。 在郊区(/ gogs /),我将所有的请求都委托给了GOGS的一个实例。 这也是容器化的,容器通过定制的Dockernetworking进行通信。 我的问题是,所有来自GOGS的资产都没有被加载。 我只得到404错误。 这是来自nginx日志: [error] 7#7: *38 open() "/website/gogs/js/libs/clipboard-1.5.9.min.js" failed (2: No such file or directory), client: $IP, server: website, request: "GET /gogs/js/libs/clipboard-1.5.9.min.js HTTP/2.0", host: "website" /网站是安装在Nginx容器中的卷。 这是我的代理configuration: location /gogs/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gogs:3000/; } 我的大部分Nginxconfiguration都基于https://github.com/h5bp/server-configs-nginx 。 这可能是一个问题吗? 我如何解决我所看到的404错误? 编辑: 日志/ gogs.log […]
我最近开始为一家想要将其单一的SaaS应用程序打入集装箱化的微服务的公司工作。 不过,我很难掌握永久存储的基本部分。 为什么有这么多不同的竞争平台? Portworx,Rexray,StorageOS,Flocker,Inifint等 我的问题 为什么不能简单地启动一个NFS服务器,并使用分层文件夹结构作为存储后端? 使用这些工具时,您会获得什么收益? 在Docker中使用类似的东西有多危险? 在基于docker的环境中造成灾难性数据丢失的常见原因是什么? 你会推荐什么持久存储解决scheme,为什么? 我的公司运营一个SaaS平台。 数据有效负载很小(5kb-100kb)。 数据处理在资源消耗上是中小型的。 总体积中等,但仍在继续增长。 我们希望完全将我们的单一应用程序作为单独的集装箱式微服务移动到云端。 包括我们的数据仓库。 有点不相干,但是它与Kubernetes作为一个pipe弦乐队而不是Rancher / Cattle有什么联系? Kubernetes是不是过度devise了一个中小型平台? 除了单击安装,在Rancher中使用Kubernetes是否有优势? 感谢您的洞察力。 对不起,天真。 我欢迎所有文件和补充阅读材料。 编辑:对于上下文,我们使用Azure作为我们的基础云平台。
我试图在服务器2016上运行Docker Containers的一些testing。我已经安装了Containerfunction和最新的Docker Engine和CLI。 我已经下载了几个Docker镜像,我用它们来启动Docker容器并定制这些容器,提交更改并用它们来创build自定义的Docker镜像。 到现在为止还挺好: 我已经使用以下命令从Microsoft Docker镜像创build一个容器: docker run -d –name miis -p 80:80 microsoft/iis ping -t localhost 容器(miis)运行良好,我可以连接到它: docker exec -i miis cmd 当我停止容器并尝试重新启动时,问题就开始了。 我使用以下来停止并启动容器: docker stop miis docker start miis 当我然后尝试并得到正在运行的容器列表使用: docker ps ,我的容器没有列出。 当我得到所有容器的列表使用: docker ps -a我的容器被列出状态为Exited。 据我了解容器正在启动的问题,运行它应该运行的工作,然后立即退出。 我的问题是如何启动从Microsoft或自定义图像创build我的新容器,并保持它们运行? 把他们从立即转到退出状态。 我以为ping -t localhost会这样做,但这似乎只工作了一段时间,它阻止我获得访问容器CMD提示。
我有一个在相同的docker集群中运行的API和Web应用程序。 1)最好有一个nginx容器负载平衡两个或有两个单独的nginx容器负载平衡每个分开? 2)如果前者,我试过这个: server { listen 80; server_name xxy.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name xxy.com; location / { proxy_pass http://web_app:8000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 443 ssl; server_name yyyy.com; location / { proxy_pass http://api_backend:5000; proxy_redirect off; […]
背景 所以昨天我正在玩我们的服务器。 在它上面我们有一个docker-compose进程,运行6个左右的容器,其中一个是Nginx。 在昨天我玩了之前,它提供的文件就好了。 我做了什么 我注意到,我可以通过运行curl -sSL https://agent.digitalocean.com/install.sh | sh来升级我的指标curl -sSL https://agent.digitalocean.com/install.sh | sh curl -sSL https://agent.digitalocean.com/install.sh | sh 。 多酷呢? 那么,我做到这一点后,奇怪的事情开始发生。 我不能确定它是因果关系,但它肯定是相关的。 我试过了 我有我的DO滴,我运行docker-compose up -d ,我得到一个: 错误:对于root_nginx_1无法启动服务nginx:驱动程序无法编程端点上的外部连接root_nginx_1:启动userland代理时出错:listen tcp 0.0.0.0:80:bind:地址已经在使用 好吧,那很奇怪… 这是工作之前,现在它甚至不会启动? 我运行ps aux -P | grep nginx ps aux -P | grep nginx看看发生了什么,并得到: root 1514 0.0 0.1 124972 1388 ? Ss 12:57 0:00 […]
在我的Dockerfile中,我定义了ARG值,并在RUN命令中成功使用它们。 但是,在我的CMD中,ARG值没有出现。 Dockerfile: FROM anapsix/alpine-java:8 MAINTAINER [email protected] ARG NAME=UNSET CMD echo NAME is $NAME 例: 12:29:27 ~/workspaces/k8s/docker > docker build scratch Sending build context to Docker daemon 2.048kB Step 1/4 : FROM anapsix/alpine-java:8 —> f68f6cb88633 Step 2/4 : MAINTAINER [email protected] —> Using cache —> b974feaede6a Step 3/4 : ARG NAME=UNSET —> Running in 0d1ebf746c33 —> […]
我和领事一起使用Docker。 我已经configurationNetworkManager使用dnsmasq,我configuration了dnsmasq来监听Docker接口docker0 。 当机器启动时,dnsmasq找不到docker0接口。 系统启动后,我重新启动NetworkManager,一切正常。 我怀疑服务的开始顺序有什么问题,但不确定问题的具体内容。 我错过了哪一步? 这是一个错误? 我发现教程描述这个configuration为Fedora 25工作,但在Fedora 26中可能已经改变了。
当我运行docker &我得到: INFO[0000] libcontainerd: new containerd process, pid: 3091 INFO[0000] [graphdriver] using prior storage driver: aufs INFO[0000] Graph migration to content-addressability took 0.00 seconds WARN[0000] Your kernel does not support cgroup rt period WARN[0000] Your kernel does not support cgroup rt runtime INFO[0000] Loading containers: start. 我也得到所有这些警告: WARN[0000] libcontainerd: client is out of sync, restore […]
我正在面对一个奇怪的行为,我的Bash脚本,我有这个Bash脚本运行与PID 1 (这是一个Docker容器的entrypoint ,如果你不熟悉Docker,我认为你可以忽略这个信息)。 当我运行下面的脚本时, SIGTERM很快终止一切,并且一切似乎都没有问题(请记住, sshd服务不存在!我的整个系统只启动这个只运行tail脚本,但直到现在它不是问题)。 #!/bin/bash trap "pkill sshd" SIGTERM export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH if [ -f /usr/local/samba/etc/smb.conf ]; then exec /usr/local/samba/sbin/samba -i else tail -f /dev/null & wait ${!} fi 当我删除该trap时,问题出现了。 现在我的系统挂起了,似乎因为tail仍在运行,并且由于某种原因而不会结束(如果您熟悉Docker,Docker会等待10秒钟,然后终止容器,因为它没有响应SIGTERM ,再次如果你不熟悉Docker,请忽略此信息)。 #!/bin/bash export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH if [ -f /usr/local/samba/etc/smb.conf ]; then exec /usr/local/samba/sbin/samba -i else tail -f /dev/null & wait ${!} fi 有人能向我解释究竟是什么问题? […]
我怎样才能添加参数到已经存在的docker集装箱? 我想添加下面的参数来限制容器的资源: –memory=512m –cpus=1