docker容器部署的应用启动日志在哪里看 |
您所在的位置:网站首页 › docker日志在哪里 › docker容器部署的应用启动日志在哪里看 |
docker命令详细讲解
一、docker详解
1.1、Docker的介绍 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且 独立于宿主机与其他进程,这种运行时封装的状态称为容器。 Docker早期版本实现是基于LXC,并进一步对其封装,包括文件系统、网络互联、镜像管理等方面,极大简化了容器管理。从0.7版本以后开始去 除LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用runC和containerd。 Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版Docker引擎上。使用沙箱机制运行程序,程序之间相互隔离。 1.2、docker的体系架构 ![]() ![]() 1.4、docker的内部组件 1. Namespaces 命名空间,Linux内核提供的一种对进程资源隔离的机制,例如进程、网络、挂载点等资源。 2. CGroups 控制组,Linux内核提供的一种限制进程资源的机制;例如CPU、内存等资源。 3. UnionFS 联合文件系统,支持将不同位置的目录挂载到同一虚拟文件系统,形成一种分层的模型。 1.5、虚拟机与容器区别 ![]() 以 KVM 举例,与 Docker 对比 启动时间 Docker秒级启动,KVM分钟级启动。 轻量级 容器镜像大小通常以M为单位,虚拟机以G为单位。 容器资源占用小,要比虚拟机部署更快速。 性能 容器共享宿主机内核,系统级虚拟化,占用资源少,没有Hypervisor层开销,容器性能基本接近物理机; 虚拟机需要Hypervisor层支持,虚拟化一些设备,具有完整的GuestOS,虚拟化开销大,因而降低性能,没有容器性能好。 安全性 由于共享宿主机内核,只是进程级隔离,因此隔离性和稳定性不如虚拟机,容器具有一定权限访问宿主机内核,存在一定安全隐患。 使用 要求 KVM基于硬件的完全虚拟化,需要硬件CPU虚拟化技术支持; 容器共享宿主机内核,可运行在主流的Linux发行版,不用考虑CPU是否支持虚拟化技术。 1.6、docker 的应用场景 场景一:节省项目环境部署时间 1. 单项目打包 2. 整套项目打包 3. 新开源技术试用 场景二:环境一致性 场景三:持续集成 场景四:微服务 场景五:弹性伸缩 1.7、在Centos7.x安装docker CentOS7# 安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2# 添加Docker软件包源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 更新yum包索引yum makecache fast# 安装Docker CEyum install docker-ce -y# 启动systemctl start docker# 卸载yum remove docker-cerm -rf /var/lib/docker官方安装文档:https://docs.docker.com/engine/installation/linux/docker-ce/centos/#docker-ee-customers1.8、镜像加速什么是镜像? 简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统。 镜像从哪里来? Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。 https://hub.docker.com/explore 默认是国外的源,下载会慢,建议配置国内镜像仓库: # vi /etc/docker/daemon.json { "registry-mirrors": [ "https://registry.docker-cn.com"] } ---- 重启一下: systemctl restart docker 1.9、镜像与容器的关系 ![]() 镜像不是一个单一的文件,而是有多层构成。我们可以通过docker history 查 看镜像中各层内容及大小,每层对应着Dockerfile中的一条指令。Docker镜像默认存储在 /var/lib/docker/中。 容器其实是在镜像的最上面加了一层读写层,在运行容器里做的任何文件改动,都会写 到这个读写层。如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。 Docker使用存储驱动管理镜像每层内容及可读写层的容器层。 ![]() 2.0、存储驱动 ![]() 2.1、镜像命令 ![]() 2.1、查看版本 [root@ansible-server ~]# docker --version Docker version 18.09.6, build 481b |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |