Docker-镜像介绍
2023-06-13 09:15:42 时间
Docker 镜像中有没有内核
从镜像大小上面来说,一个比较小的镜像只有1KB多点,或几MB,而内核文件需要几十MB, 因此镜像里面是没有内核的,镜像在被启动为容器后将直接使用宿主机的内核,而镜像本身则只提供相应的rootfs,即系统正常运行所必须的用户空间的文件系统,比如/dev/,/proc,/bin,/etc等目录,所以容器当中基本是没有/boot目录的,而/boot当中保存的就是与内核相关的文件和目录。
为什么没有内核由于容器启动和运行过程中是直接使用了宿主机的内核,不会直接调用过物理硬件,所以也不会涉及到硬件驱动,因此也用不上内核和驱动。而如果虚拟机技术,对应每个虚拟机都有自已独立的内核
容器中的程序后台运行,会导致此容器启动后立即退出?Docker容器如果希望启动后能持续运行,就必须有一个能前台持续运行的进程,如果在容器中启动传统的服务,如:httpd,php-fpm等均为后台进程模式运行,就导致 docker 前台没有运行的应用,这样的容器启动后,会立即自杀。所以一般会将服务程序以前台方式运行,对于有一些可能不知道怎么前台运行的程序,只需要在你启动的命令之后添加类似于 tail ,top 这种可以前台运行的程序,常用的方法,如 tail -f /etc/hosts。
范例:
#httpd ENTRYPOINT [ /usr/sbin/apache2 ] CMD [ -D , FOREGROUND ] #nginx ENTRYPOINT [ /usr/sbin/nginx , -g , daemon off; ] #用脚本运行容器 cat run_haproxy.sh #!/bin/bash haproxy -f /etc/haproxy/haproxy.cfg tail -f /etc/hosts tail -n1 Dockerfile CMD [ run_haproxy.sh ]2.1.4 docker镜像生命周期
本文链接:http://www.yunweipai.com/34815.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/52657.html
apacheApache2DockerHaproxynginxphp虚拟机相关文章
- 容器化部署博客(1)—— 安装 docker 和 docker-compose
- mac电脑卸载软件_docker卸载镜像
- Docker镜像管理基础
- 使用docker buildx打包发布多平台镜像
- jenkinsfile docker_dockerfile创建文件夹
- Jenkins(2)docker容器中安装python3[通俗易懂]
- docker 上传本地镜像_docker从本地文件拉取镜像
- Docker部署_docker部署网站
- 对Docker基础镜像的思考,该不该选择alpine
- Docker镜像仓库registry
- docker-compose部署Gitea
- ansible之docker_container模块
- docker离线安装mysql镜像_minio docker
- docker快速拉起任意版本PostgreSQL测试环境
- Docker服务的拉取镜像命令(docker pull 镜像名称)
- Docker安装RockerMQ消息队列
- docker微服务简单打包部署
- docker 上传镜像到云端详解程序员
- 在Linux系统中安装Docker容器(linux下安装docker)
- 使用Docker容器构建Redis服务(dockerredis)
- 为什么 strace 在 Docker 中不起作用?
- Docker 宣布拥抱 Kubernetes
- Docker-服务进程管理
- docker-anpine镜像介绍
- docker-镜像加速配置