[转帖]docker容器保持运行不退出】的更多相关文章

docker容器保持运行不退出 2019年01月20日 23:21:22 chvalrous 阅读数 1511   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chivalrousli/article/details/86567809 最近 进行一项工作 需要给docker 里面安装mono 之前也写了一下 如何安装 但是 不知道如何检查. 今天看了下 最简单的办法 docker run -it imagename:imagetag 进入容器…
引言 最近群里的好多新接触Docker的朋友,好多都遇到了相同的问题,使用 $ docker run -d ubuntu /bin/bash 运行了一个简单的容器后,然后docker ps -a 进行查看, 会发现容器已经退出了. 其实呢,这个问题并不复杂,了解了下面的内容,我想,你就知道该如何处理了. 根源 很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的 这个是 docker 的机制…
在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇到了. 不过首先,对于不熟悉的朋友我还是来解释一下Linux容器和Windows容器的概念. 由于容器成为虚拟化和应用托管的一种不可避免的选项,Windows也开始为公众提供容器功能(其实微软具备和使用容器技术很久了).这…
说道这一块纠结了我两天时间,感觉真的很心累,Jenkins的安装就不多说了 这里我们最好直接安装到宿主机上,应该pull到的jenkins版本是2.6的,里面很多都不支持,我自己试了在容器中安装的情况,效果很不满意 这篇文章主要就是为了解决两个问题: 1.配置问题 2.容器发布运行问题 为了解决这两个问题也是费了我不少精力,首先shell编程你的会啊,做一个DevOps真心累,关于Jenkin拉去代码的问题这里不多说,主要针对上面2个问题说下我个人的观点 微服务架构都是有配置中心,为了解决第一个…
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = _authorityconfig.Authority; options.RequireHttps…
不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经超过一年.先来看一下经典的 Kubernetes 架构图: 可以看到,在 Kubernetes 中,创建.调度和管理的最小部署单位是 Pod,而不是容器.在没有容器化技术的场景里,同一个 Pod 下的容器都在同一台物理或虚拟主机上运行, 这些容器之间能方便地共享数据和通信,单个容器可以独立地重建和重…
最近做的一个东西,是将gitlab10.x的汉化版本,从源码编译(在源码中自己定制一些东西),然后制作成Docker镜像,作为Docker容器来运行 在启用容器中的gitlab的ssh的时候,遇到了一些问题,在这里记录一下: 网络的问题: gitlab是在容器中运行,但是我们使用git访问的时候,用的是 git@docker主机域名:用户名/仓库名的方式来访问的,这就带来了一个问题: 客户端用ssh访问的时候,访问到的是Docker主机的22端口,而不是容器中的22端口, 解决的方法是:将主机的…
在docker容器中运行hello world! docker容器可以理解为在沙盒中运行的进程.这个沙盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等.但这个沙盒默认是不会运行任何程序的.你需要在沙盒中运行一个进程来启动某一个容器.这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止. 目标: 在我们刚刚下载的镜像中输出"hello word".为了达到这个目的,我们需要在这个容器中运行"echo"命令,输出"…
实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第一步,安装操作系统 首先在腾讯云上安装一个干净的Ubuntu系统 系统使用Ubuntu 16.04 64位 这里服务市场虽然有docker,但是版本都太低(1.8.2左右),现在的一些镜像都不支持这些低版本的了,所以自己手动装个  腾讯云推荐使用ssh连接,配置好后就不用输入登入密码了 秘钥可以在腾…
Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大,所以接下来会跟着他来更加深入的学习ES. 这篇博客的目的就是部署好ES和跟ES相关的辅助工具,同时通过Logstash将测试数据导入ES,这些工作完成之后,之后我们就可以在此基础上深入的去学习它. 一.Docker容器中运行ES,Kibana,Cerebro 1.所需环境 Docker + docker-co…
对开发和运维人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境.任意时间让应用正常运行.而Docker恰恰是可以实现这一终极目标的瑞士军刀. 具体来说,Docker在开发和运维过程中,具有如下几个方面的优势. 1.更快速的交付和部署.使用Docker,开发人员可以使用镜像来快速构建一套标准的开发环境:开发完成之后,测试和运维人员可以使用相同环境来部署代码.Docker可以创建和删除容器,实现快速迭代,大量节约开发.测试.部署的时间.并且,各个步骤都有明确的配置和操作,整个过程全程可…
.Net  Core 3.0 的 docker 容器中运行 无法 访问 Oracle数据库  , 一直报下面的错误 ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found 解决方法是 : docker-compose 的时候设置环境变量TZ 即可 environment: TZ: "Asia/Shanghai" 另外, 防火墙关闭后, 必须重启docker服务, 容器…
案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 mailer 程序,运行于后台,当接收到事件后会向管理员发送邮件. 容器 agent: 该容器运行一个 watcher 程序,以交互模式运行,用于不断地监测 web 服务的运行情况,一旦出现故障会立即向 mailer 容器发送消息. 创建容器 创建并运行 web 容器 $ docker run --…
目录 一.运行容器 1.运行第一个容器 2.让容器长期运行 二.进入容器 1.attach 2.exec 3.attach VS exec 4.容器内部都在干些什么 三.停止/启动/重启容器 四.暂停/恢复容器 五.深入容器 六.删除容器 一.运行容器 1.运行第一个容器 现在,让我们尝试启动第一个 Docker 容器.我们可以使用docker run命令创建容器,docker run命令提供了 Docker 容器的创建到启动的功能. root@ubuntu:~# docker run -ti…
一 容器分类 容器按用途大致可分为两类: 服务类容器,如 web server. database等 工具类容器,如cur容器, Iredis-cli容器 通常而言,服务类容器需要长期运行,所以使用 daemon的方式运行;而工作类环境通常是给我们提供一个临时的工作环境,所以一般以runt的方式在前台运行 容器的短任务和长任务 长任务就是长期执行的任务,比如容器监听在某个端口上,只要放在后台运行即可(http,nginx,myslq等) 二 工具类容器 2.1 简单实验 如执行一个docker…
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇到了. 不过首先,对于不熟悉的朋友我还是来解释一下Linux容器和Windows容器的概念. 由于容器成为虚拟化和应用托管的一种不可避免的选项,Windows也开始为公众提供容器功能(其实微软具备和使用…
安装Docker环境 参考本人这篇<CentOS 7 下Docker的安装>文章进行安装以及环境配置,这里不做赘述. 通过.NetCore开发WebApi项目 1. 创建.Net Core Web项目,如下图所示: 这里我们选择Web API模板进行项目创建,为了简单起见,我们不做身份验证,也不选择 Host in cloud,点击ok项目及创建好 默认的项目文件结构如图所示: 在cmd 执行dotnet restore 恢复依赖包 运行项目,在浏览器就可以查看到结果 至此,一个简单的.Net…
https://linux.cn/article-6103-1.html Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统.它带有大量安全相关的程序,这让它很容易用于渗透测试.最近,Kali Linux 2.0 发布了,它被认为是这个操作系统最重要的一次发布.另一方面,Docker 技术由于它的可扩展性和易用性让它变得很流行.Dokcer 让你非常容易地将你的程序带给你的用户.好消息是你可以通过 Docker 运行Kali Linux 了,让我们看看该怎么做 :) 在 Doc…
Docker容器CPU.memory资源限制 https://www.cnblogs.com/zhuochong/p/9728383.html 处理事项内容等 这一块内容感觉 不清楚.. 背景 在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU.内存和磁盘资源.如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平:大的来说,可能会导致主机和集…
原因: 容器同时只能管理一个进程,如果这个进程结束了容器就退出了,但是不表示容器只能运行一个进程(其他进程可在后台运行),但是要使容器不退出必须要有一个进程在前台执行.   解决方案: 启动脚本最后一个进程一定要用前台运行方式 即在进程最后不加 &(&表示在后台执行),否则容器退出   可在脚本后加  /bin/bash ,如果还不行,就换为 tail -f /dev/null (实时查看/dev/null)…
实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然后我们另外开一个终端,用docker ps命令查看这个运行起来的容器实例,Status的Up 54 seconds意思是从该实例启动到现在已经经过了54秒. 使用命令进入这个容器实例: docker exec -it bbc5d48a761c /bin/sh 进入之后看到shell提示符#,我们就可…
在开发过程中,我们将mysql.redis.celery等服务在docker容器里跑,项目在本地运行,便于debug调试 docker-compose -f docker-compose-dev.yml up db redis celery 当我将服务在docker里运行时,才发现了问题 报错指在manage.py,这可是一头雾水,经过一番查询之后,在manage.py文件第一行加入了路径 #! /usr/bin/env python3.6 然而并没有什么作用,报错路径问题. 最终解决方案是通过…
概述 连接容器, 退出容器 命令 run exec attach 退出 选项 -i -t -d 1. docker run 概述 docker run 通常用来创建新容器 docker run 的 三个命令行选项 ref Confused about Docker -t option to Allocate a pseudo-TTY 命令行选项 相关的实验 准备 基础命令 # 下面这个, 是 基础命令 # 后面的 命令行选项, 会按照这个模式插入 > docker run ubuntu:18.0…
1.容器的生命周期(***重要,需要理解) 容器启动后,执行的第一条命令的PID为1     ========================>>>>>>>>>>>>>>>>>>>> 2.启动一个容器(会在前台打印) docker run 镜像名:版本号 3.启动一个容器并执行第一个命令(命令执行结束则容器结束,命令不结束则容器不结束) docker run 镜像名:版本号 + 命令 4…
1.首先,在window下用vs2017开发netcore控制台项目. 2.把建立好的项目传送到centos7下面的容器里. docker cp sharefoldersforwindows/ 359e:/testnetcore3 运行容器 docker exec -it 359e /bin/bashcd testnetcore3/cd sharefoldersforwindows/ 查看文件: -rw-r--r--. root root Feb : HelloWorld.csproj -rw-…
docker exec -ti  容器ID  /bin/bash…
Spring Boot加载配置文件,默认会从几个固定位置搜索一下看看有没有配置文件 ——application.properties或者bootstrap.properties(如果你使用了spring cloud 相关jar包的话)存在. 这几个位置分别是: classpath:/,classpath:/config/,file:./,file:./config/ 他们定义在: 看到这个地方你应该明白了: 后边两个带“file:”的目录是相对目录,相对的不是你的jar包的存放位置,而是你执行j…
如果用了一段时间的docker就会发现,我们的容器经常用了一段时间就自动退出了,docker ps已经找不到了,在docker ps -a里面了,然后我们docker start containerId 想重新开启这个容器,可能这次来的更快,没几分钟又只能在docker ps -a中找到了,容器又自己关了.由这个问题又可能引发其它很多的问题. 问题思路:docker run指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的.-d命令是设置detach为true…
一.前言 我们知道,为了安全考虑,我们一般会设置反向代理,用来屏蔽应用程序真实的IP和端口号.在Linux系统上最常用的反向代理就是Nginx.本篇文章中,我们会通过Docker容器分别运行一个Nginx容器和一个ASP.NET Core应用程序的容器,然后设置反向代理. 二.运行Nginx容器 1.获取Nginx镜像 要运行容器,首先需要有相应的镜像,使用下面的命令拉取NGINX镜像: docker pull nginx 如图所示 2.运行Nginx容器 获取Nginx镜像之后,我们就可以根据…
安装Docker yum install docker 本文使用的系统是centos7,ubuntu使用以下命令 sudo apt-get update sudo apt-get install docker-engine 如果报了以下错误,是因为yum被其它进程使用了 Another app is currently holding the yum lock; waiting for it to exit... The other application is: PackageKit Memo…