如标题所示,是否可以从容器重新启动主机?我有一个docker容器运行systemd,如下所述,并以以下方式启动:
$ docker run -privileged --net host -ti -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro <image_name>
主机不会重新启动。但是,我在主机的内核缓冲区上看到了[1915595.016950]systemd journald[17]:从PID 1(systemd shutdow)接收到SIGTE
我试图了解,但我一直得到(对我来说)神秘的错误消息
最简单的例子可能是打印我安装的Docker版本:
$ sudo docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): darwin/amd64
FATA[0000] Get http:///var/run/docker.soc
我一直在努力学习Docker,有一件事让我困惑,那就是不同风格的Linux(对于主机操作系统)是如何在Docker容器中运行的
如果我们假设我的Docker主机正在运行RedHat,并且我从Ubuntu映像启动了一个容器,那么以下是真的吗
从逻辑上讲,如果Ubuntu映像占用大约550MB,那么Docker守护进程是否会下载(从映像注册表)550MB的Ubuntu映像来创建容器
在容器中运行的Ubuntu实例与我手动下载并安装相同版本的Ubuntu实例基本上没有什么不同吗
我知道Docker
使用Docker 1.9.1,我可以创建这样的卷
docker volume create --name minecraft-data
这很好用
docker volume inspect minecraft-data
[
{
"Name": "minecraft-data",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/minecraft-data/_data"
我需要将特定的主机端口“5000”绑定到容器,并使用“netstat-ntlap grep 5000”命令检查主机端口是否可用。如果端口可用,我将向docker conf文件添加“unsecure registry”选项,然后重新启动docker守护程序。但是,某些容器在重新启动之前停止,可能会使用“5000”端口,并导致我的新容器启动失败。如何知道docker守护进程重新启动后哪个容器将重新启动?或者只需找出以“--restart=always”开头的容器?使用docker ps-aq的组合(
这些文件我不太清楚。我在Dockerfile目录下运行了docker build-f.,它似乎构建成功了,太棒了。我不知道下一步该怎么办,我看了一下它告诉我的文档当您完成构建后,您就可以考虑将存储库推送到它的注册表了。
这让我来到这里,我对发布它或创建帐户没有兴趣
我的另一个选择是命名构建,对吗?如果我运行docker build-t.,那么我会得到文件exists:。。如果我运行docker build-f.,那么我不会得到这样的文件或目录:nodeb
所以我有点迷路了,我希望我能更好地理解这
Docker的文档说明--rm和-d不能一起使用:
为什么??我似乎误解了“超脱”的含义;它似乎与rm所做的完全正交。为什么它们相互排斥
以此类推,如果我在后台启动一个进程(例如启动我的服务),并且该进程退出,那么该进程的资源将自动释放(通过init)。它不会粘在周围,等待我手动移除它。为什么docker不允许我将-d与--rm结合起来,以便我的容器以类似的方式工作
我认为这将解决一个非常常见的用例。似乎这将很好地避免以下工作:
我遗漏了什么?作为一种回答方式,让我们假设我使用-d和-rm启动一
这是我的Dockerfile:
FROM node:4
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY code/* /usr/src/app/
EXPOSE 3000
VOLUME /usr/src/app/
和我的Docker组合文件:
version: '2.0'
services:
my_service:
build: .
volumes:
- ./app:/usr/src/app
p
我遇到了一个问题,我的docker容器将在运行~天后退出,退出代码为137。容器的日志不包含指示发生错误代码的信息。此外,尝试重新启动容器会返回一个错误,即应用程序的PID已经存在
容器是使用sbt docker插件构建的,sbt docker:publishLocal,然后使用
docker run--name=the_app--net=the_app_nw-d the_app:1.0-SNAPSHOT
我还运行了另外3个docker容器,它们总共使用了90%的可用内存,但这是唯一一个退出的特
在Mac 1.12.3的Docker上,给定此Docker文件:
FROM debian:jessie
ENV DEBIAN_FRONTEND=noninteractive
RUN \
apt-get update && \
apt-get install --no-install-recommends --fix-missing -y -q \
ca-certificates \
curl \
python \
python-opens
我有一个节点docker容器,在其中运行开发服务器
在我的docker-compose.yml文件中,entry命令是:
...
command: start-dev-server
...
其中start dev server指向在供应商安装后启动服务器的脚本:
// /usr/local/bin/start-dev-server
#!/usr/bin/env bash
# install node modules if missing
npm i
# start the dev serve
因为docker编写了1.10.0。我开始在我的docker compose文件中实现这些
有几个站点建议从docker ps查看容器的运行状况。见下文
但是,在运行docker ps时,我看不到任何运行状况。我的docker compose文件的摘录如下所示:
version: "2.1"
services:
my-service:
container_name: my-service
image: "our-registry:5000/my-service:1.0.1
我有一个基本的docker compose设置,包括以下内容:
从192.168.50.0/24开始的docker网桥子网
4项服务:兔子、spring配置、票价、登记
这些服务中的每一个都正确设置了主机名,并且能够在子网(192.168.50.0)中找到彼此。IP动态地归属于该子网,并且它们都从各自容器中的端口8080开始
从主机上可以看到网桥网络,并且可以使用其ip访问容器的每个实例
如果不将8080以外的端口映射到docker主机,我就无法解析这些主机条目
对于我的主机的/etc/ho
我无法在我的环境中提取docker图像。我认为它被公司防火墙屏蔽了,但我不确定为什么它会得到层信息,然后打印出没有找到存储库的信息
sudo docker pull hello-world
latest: Pulling from hello-world
50a54e1f9180: Pulling fs layer
7a5a2d73abce: Pulling fs layer
Pulling repository hello-world
Repository not found
Docker版
我已经创建了一个docker映像,其中包含运行Django应用程序的所有设置。
步骤1:
步骤2:
docker run -i -t c4ba9ec8e613 /bin/bash
步骤3:
root@257f4e73ffa0:/# cd /home
步骤4:激活虚拟环境
root@257f4e73ffa0:/home# source my_env/bin/activate
步骤5:
root@257f4e73ffa0:/home# cd my_project_directory
步骤6:
我正在尝试为我的Gitlab CI管道构建Docker映像,其中包含Docker client+gcloud以及以下gcloud组件:
库贝特尔
docker凭证gcr
这是我的dockerfile:
FROM docker:git
RUN mkdir /opt \
&& cd /opt \
&& wget -q https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google
我的问题与类似,但我发现被接受的答案有点模糊,所以我将再次提问。试一试
docker swarm init
我收到一条错误消息
来自守护程序的错误响应:无法选择要播发的IP地址,因为此系统在不同的接口上有多个地址(enp1s0上有192.168.130.117,wlp2s0上有192.168.130.89)-请使用--advertive addr指定一个
这其中的根本原因是什么?我目前正在运行VPN(OneClickVPN);这是个问题吗
另外,为了用--advertive addr指定一个地
我有一个领事在docker容器中运行。
当我启动另一个领事代理(不在docker上)时,它会说:
[WARN] memberlist: Was able to reach container_name via TCP but not UDP, network may be misconfigured and not allowing bidirectional UDP
我试图在这里形成一个集群,但领导人选举一直失败。
我怎样才能解决这个问题
我在docker compose.yml中的端口规范
假设我在主机上,docker compose运行2个容器/服务:
后端graphql(端口:8000:8000)
前端反应(端口:8081:8081)
在我的react+apollo代码所在的前端容器中,我需要设置以下常量:
// frontend container code
export const APOLLO = {
uri: 'http://0.0.0.0:8000/graphql' // << not working, what to use here?
};
我的码头工人还没有开始。同时,它也在抛出下面的错误。此问题将出现在RHEL服务器上。请帮我解决这个问题
Aug 01 00:24:07 rhelserver006 systemd[45452]: Failed to chown socket at step GROUP: No such process
Aug 01 00:24:07 rhelserver006 systemd[1]: docker.socket control process exited, code=exited status
我在docker容器中运行气流。我已经创建了一个单独的容器来运行Postgres服务器和Rabbitmq服务器,使用docker网络将这些容器连接起来,方法如下。现在,我的Airflow docker容器正在运行,并使用docker网络连接到其他容器-到目前为止,该过程进展顺利。问题是如何在同一容器中运行气流Web服务器、气流调度器和气流工作者。经过一些研究,我发现:建议在一个容器中运行一个服务。现在我有两个解决方案
在同一个气流容器中运行多个服务——我想不出一个简单的方法来实现Docker中的
假设我在运行CentOS。我安装了docker,然后运行映像
假设我使用这个图像:
然后我就跑
docker run-it-rm-p 8888:8888 jupyter/pyspark笔记本
现在,我可以用localhost:8088打开浏览器,我可以创建一个新的Jupyter笔记本,键入代码并运行,等等
但是,如何访问我创建的文件,并将其提交到github。此外,如果我已经在github上有一些代码,我如何从docker中提取这些代码并访问这些代码
非常感谢,您需要装入该卷
docker r
如果使用websocket开发在线实时游戏,多人在不同容器上运行,如何在添加或减少容器时同步数据
kubernetes在这种情况下有什么好的特性吗?容器的基本思想是它们应该是无状态的
这意味着您的游戏可能拥有的任何持久性数据(高分等)必须保存到持久性数据库中,而其他临时数据(如当前ingame分数或昵称等)可以保留在容器内存中,并在容器死亡后消失
如果正在播放,如何在添加或减少容器时同步数据
听起来你想用多个容器来计算一个游戏世界
这是一个完全不同的野兽,但你可能想看看,它几乎允许大规模多人世界
这篇文章有点长,但请容忍我一段时间
假设您有一个应用程序位于本地(主机)文件系统中的/app,其结构如下
app
|-- index.php
|-- foo
| `-- file-h1
`-- bar
`-- file-h2
opt
|-- app
| `-- foo
| `-- file-c1
现在假设我们有一个图像(标记为myrepo/app),它利用了以下数据结构
app
|-- index.php
|-- foo
| `-- file-h1
`-- b
我正在尝试运行2个docker容器。一个是Landoop的Kafka容器,它向本地主机公开两个端口,另一个是Kafka connect容器,它尝试访问另一个映像公开的端口。我能够访问Landoop的Kafka容器公开的端口,但在尝试从另一个容器访问端口时遇到问题
PS:我正在使用MAC,并尝试使用--network=“host”启动另一个容器
但一旦我发射它,容器就被杀死了。我正在使用
docker run--rm-it-p 2181:2181-p 3030:3030-p 8081:8081-p
我有一个覆盆子圆周率和我安装了码头工人在它。我制作了一个python脚本来读取其中的gpio状态。所以当我运行下面的命令时
sudo docker run -it --device /dev/gpiomem app-image
它运行良好,并显示gpio状态。现在我已经创建了一个docker compose.yml文件,因为我想将这个app.py部署到我创建的swarm集群中
下面是docker compose.yml的内容
version: "3"
services:
app:
我有一个docker-compose.yml类似于bellow:
networks:
smstake:
ipam:
config:
- subnet: 10.0.10.0/24
services:
app:
image: smstake:latest
ports:
- 8000:80
networks:
- smstake
depends_
我正在使用docker为LAMP应用构建自动化CI/CD管道
我希望将图像旋转到5个容器中,以便5个不同的开发人员可以处理他们的代码。这个能被翻译吗?我用复制品试过,但没有成功
version: '3'
services:
web:
build: .
ports:
- "8080:80"#
deploy:
mode: replicated
replicas: 4
我得到的错误:
:#/bin/bash-eo pipefail docker
我正在连接到远程计算机(从windows到centos),并尝试运行docker容器
,docker拉动hello world,X窗口即将打开
什么都没有
ssh-vvvname@remote
相同的命令docker pull hello world给出:
debug1: client_input_channel_open: ctype x11 rchan 4 win 65536 max 16384
debug1: client_request_x11: request from ::1 351
我正在使用stack启动一个新的Haskell项目,我想使用docker compose构建并运行它,这样我就可以与其他应用程序(db、负载平衡器等)一起运行它
但是,我的堆栈项目无法在容器内构建。
在运行docker compose up之后,我得到了这个错误
...
Step 6/8 : RUN stack build --dependencies-only ---> Running in 6d42f4797edd
Downloading lts-11.10 build plan ..
欢迎来到另一个略有不同的风格的“docker机器背后的企业代理”
我相当肯定这不是对这个主题领域的其他问题的完全重复,已经花了大量时间尝试在这里找到的其他潜在解决方案,但没有任何效果,但由于我完全被难住了,我们开始
症状:
root@default:/home/docker# docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Ge
我有一个.NET应用程序,它生成一些PDF格式的报告并将它们发送到打印机。
打印机为网络打印机,可直接通过IP(无打印服务器)使用
目前,此应用程序托管在安装了此打印机的基于Windows Server的计算机上
是否可以将此应用程序打包到Docker容器中?我应该使用哪个基本图像?如何在Docker容器中安装带有相应驱动程序的网络打印机?您好,您在这方面有什么进展吗?我通过USB打印,并希望在基于Win的docker中进行打印。你知道如何解决这个问题吗?我最终用CUPS(打印服务器)创建了一个
我可以从Jenkins连接到两个私有注册中心,我可以提取我想要的映像,但是我不知道如何将同一映像推送到不同的回购协议
注意,我使用脚本管道语法,因为据我所知,声明性语法不支持推/拉或自定义注册表。我也不熟悉Groovy语法
以下是我到目前为止为我的Jenkins文件得到的信息:
node {
checkout scm
docker.withRegistry('https://private-registry-1', 'credentials-1') {
def
我正在尝试创建两个部署,一个用于Wordpress,另一个用于MySQL,它们引用两个不同的持久卷
有时,在删除和重新创建卷和部署时,MySQL部署会填充Wordpress卷(最终在Wordpress卷目录中创建一个数据库)
当您执行kubectl get pv--namespace my namespace时,这一点就更清楚了:
mysql-volume 2Gi RWO Retain Bound flashart-it/wordpress-volume-claim m
我正在使用Jenkins Docker插件在Docker主机上动态启动从属服务器。Jenkins master在同一台主机上运行。构建时,它在docker主机上拾取一个随机端口,无法连接到该端口。它启动docker容器。这是日志。只说了这么多。如何调试该问题
INFO: Started container ID 54fe5780ca820a6e2b7cae40610cfc3229dbf889b0c66d6e34a39b74e13aaec7 for node slave-0000w16w841rc
我相信我的问题很简单。我正在做在裸机上安装Kubernetes群集的先决条件
假设我有:
master-Docker DB容器的主机名,固定在第一个节点上
从节点-Docker DB容器的主机名,固定在第二个节点上
无论集群中的任何容器(应用程序等)是否运行在同一节点上,我都可以与主机进行通信吗
这是默认行为吗?
或者应该做些什么
我假设我需要在YAML或JSON文件中设置hostname参数,以便Kubernetes知道主机名是什么
可能这不是原因,但我计划使用Kubespray安装方法,以便
我有一个jenkins管道,它在NUC服务器上构建和运行各种容器。
此NUC与另一个NUC位于群集(群)上。
我最近在我的设置和集群上添加了几个raspberry PI,所以现在我想知道是否有办法命令Jenkins在x86_x64或armhf设备上部署
我尝试了在其他问题上找到的-e约束:node=解决方案,但没有成功
我从指向另一个节点的x86_x64节点和指向armhf节点的x86_x64节点尝试了上述命令
我不想将这些容器作为服务运行,也不关心任何负载平衡器,我只想在特定的体系结构上运行容
我构建了一个Docker映像,将脚本复制到映像中,并在运行映像时自动执行它,这要归功于Dockerfile命令:
ENTRYPOINT[“/path/to/script/my_script.sh”]
(我必须在RUN命令中赋予它chmod权限才能使它真正运行)
现在,我对Docker还很陌生,所以我不确定我想做的是不是一个好的实践:
我的基本想法是,我不希望每次我想要运行这个脚本时都要创建一个新的容器,而是想办法在我(重新)启动同一个容器时重新执行这个脚本
因此,不必键入docker run m
标签: Docker
elasticsearchfilebeatubuntu-19.04
对于Docker版本18.09.5,当我键入以下内容时,生成e8ff056和filebeat:7.1.1(通过elasticsearch):
$ docker logs filebeat > filebeat.log
我看到了日志,但filebeat.log是空的
如果我尝试:
$ docker logs logstash > logstash.log
我看不到控制台的日志,但文件中的日志行已满
使用的操作系统是:ubuntu19.04您应该使用-t标志运行容器,该标志将为容器分
国家:
警告:不要直接操作/var/lib/docker/中的任何文件或目录。这些文件和目录由Docker管理
假设有人没有读到这个提示,并从/var/lib/docker/aufs/diff中删除了一些文件以释放一些磁盘空间。这些文件不在Docker卷中,也不是原始Docker映像的一部分,而是在容器可写层中创建的。重新启动给定容器会释放磁盘空间,但是否存在已知的副作用
下一次:从容器中删除此类文件或目录(通过docker exec..rm..)是否会导致正确的删除,或者只将它们标记为已删除?
我有一个本地运行的docker映像(jupyterhub)。
当我在浏览器中尝试localhost:8000时,我发现网站无法访问这个问题
docker ps秀
这是jupyterhub dockerimages的日志
ratha$docker run-p 8000:8000 856b48323ac4
什么是错误的,同样的形象为他人运行。我正在MAC的docker终端中尝试它。使用参数尝试运行docker run-p 8000:8000-d--名称jupyterhub jupyterhub/ju
例如有
.gitlab-cy.yml带有ENV\u BACKEND\u URI变量
build:
stage: build
variables:
ENV_BACKEND_URI: "http://localhost:4200"
script:
- docker-compose build
docker compose使用dockerfile
FROM node:10-alpine as build-stage
...
...
...
RUN ["chmod",
名称空间名称类型
群集IP外部IP端口默认值。。。。。。。。。
库伯内特斯。。。。。。。。。集群………
10.96.0.1 ......... 443/TCP kube系统。。。。。。。。。。kubernetes仪表板………
节点端口。。。。。。。。。10.104.38.247………
443:31317/TCP
kubectl集群信息
Kubernetes大师正在跑步
库比登斯正在跑步
我可以在我的电脑上使用下面的url访问仪表板
kubernetes.docke
配置测试显示该文件有效,但
haproxy-systemd包装器:正在执行/usr/local/sbin/haproxy-p/run/haproxy.pid-db-c-f/usr/local/etc/haproxy/haproxy.cfg-Ds
配置文件有效
haproxy systemd包装器:退出,haproxy RC=0
提前感谢您docker logs,docker file?您可以不使用-c(检查配置)选项进行尝试吗?docker logs,docker file?您可以不使用-c(检
也许这是一个毫无意义的愚蠢问题:
在kubernetes部署(或minikube)中,当pod容器崩溃时,我想在此时分析文件系统。通过这种方式,我可以看到内核转储或任何其他有用的信息
我知道我可以装载一个卷或PVC来从主机定义的核心模式位置获取核心转储,我也可以通过rsyslog侧车或任何其他方式获取日志,但如果可能,我仍然希望进行“事后”分析。我认为kubernetes应该提供(但我不知道如何,这就是我提出问题的原因)一些机制来完成这项取证任务,让我们所有人的生活更轻松,因为在一个生产系统中,
我正在使用latex编译一个文档,但不想再在我的机器上安装texlive。为此,我很幸运地用latex-in-a-docker-container编译了文档。作为起点,我遵循了
使用tianon/latex:最新的docker图像。
但是,如果我想为我的文档使用本地安装的字体,我会遇到问题。我运气不错的一些变通方法包括
1) 创建自定义Docker映像并单独安装我可能需要的每个字体,例如,通过向Docker文件添加安装说明
2) 将字体复制到我的当前目录,并告诉fontspec在哪里可以找到它
在我的项目中,当我使用docker compose启动它时,apt get无法从Dockerfile工作。但当我用--network选项直接调用docker时,它确实可以工作
以下是配置:
docker compose.yml:
version: '3'
services:
main:
build: main
network_mode: host
main/dockfile:
FROM osrm/osrm-backend:v5.22.0
RUN apt-get updat
我正在尝试使用s2i本地源代码存储库构建一个映像。到目前为止,我设法创建了图像,并使用-
s2i创建测试图像s2i\U脚本。之后,我尝试使用-s2i build在本地构建图像。test image test image app我在存储库目录中运行此命令
尝试构建后得到的结果:
pulling image error : Error response from daemon: pull access denied for test-image, repository does not exist
标签: Docker
digital-oceancontainer-registry
我想手动登录/验证我的容器注册表
我得到了一个auth文件,它看起来像:
{"auths":{"registry.digitalocean.com":{"auth":"******************"}}}
如何使用此文件进行身份验证?docker登录需要用户名和密码吗
我不想使用dotctl身份验证方法
我遵循了这个链接,docker SDK在我使用docker容器时运行良好。现在我已经转到了K8s,当我运行代码时,会出现类似“Container Not Found”的错误。有没有办法在Kubernetes吊舱中使用Python Docker SDK?
错误:
注意:作为普通Docker容器运行时,我不会遇到此错误。只有当代码在k8s吊舱内运行时才会发生这种情况
注:
docker ps也不返回任何内容,因为所有容器都在K8s吊舱内运行
import docker
docker_client =
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 947 页