Docker容器.note

noteId: 83F29D45654649B19C7A29FA01401194 · 原始路径:/ALL/Linux - A模块/服务配置/Docker 容器管理/Docker容器.note · 图片:29 · 附件待处理:1

什么是容器:
企业部署方式:
·传统部署方式
且无法定义程序的资源实用量,内存、CPU等
 
·使用虚拟化部署
虚拟机有缺陷:需要虚拟出硬盘、内存、内存条、硬盘、网卡、显卡
一台虚拟机等同于一台完整的电脑
对于虚拟机来说,达不到资源的极致利用
 
这就使得容器诞生了
容器也是一种虚拟化技术,可以在容器上运行网站,运行数据库
可以把容器可以理解为虚拟机的精华版本
容器是没有内核的,共用系统的内核
且容器没有虚拟化出硬件等
容器只有程序运行时的必要的配置
容器可以合理地利用计算机地资源,降低硬件成本,每个容器之间相互隔离
容器还可以为开发、测试、运维提供一个可移植、一致的操作环境
 
 
一款软件的上线流程:
开发环境开发完,打包交给测试,测试没问题,打包交给生产环境的上线人员
 
容器在这起到了关键的作用,容器能够将代码及其所依赖的环境、系统,装进容器中,使其不会受到外部环境的影响
容器能够解决跨环境时,程序水土不服的情况
 
docker是一套完整的容器管理系统
docker的理念是,一次封装,随处运行,docker可以让开发者打包自己的应用以及依赖到一个轻量的容器中,然后发布到任何流行的Linux系统上
 
Docker基本组成:
可以把镜像理解为一组文件
·镜像
用来创建容器的模板,一个镜像可以创建多个容器
·容器
程序的载体,程序运行在容器中,每个容器相互隔离,互不影响,但可以相互通讯
·仓库
集中存放镜像的场所
 
 
 
 
docker也有Windows版的
docker能够在Windows里使用
 
docker安装:
docker镜像:
 
Docker命令行:
 
配置镜像加速器:
 
 
搜索镜像:
docker search nginx    //搜索nginx的镜像
 
 
下载nginx镜像:
 
docker pull nginx:1.24.0
 
查看镜像:
docker images
 
 
 
以容器的方式部署nginx:
创建容器:
docker run -id --name=nginx --restart=always -p 80:80 nginx:1.24.0
前面的端口可以随便指,后面的端口不能乱指;若是只指定镜像,不指定版本,则会在官方网站拉取镜像创建容器
--restart=always    //设置容器随机自启
查看容器:
docker ps    //查看正在运行的容器
docker ps -a    //查看所有容器(包括关闭的容器)
 
访问容器:
在宿主机的浏览器上,输入docker的ip地址,输入后面指定的端口(上面指定的为80端口)
 
进入容器:
docker exec -it nginx /bin/bash
 
 
容器的管理命令:
关闭容器:
exit    //退出容器
docker stop nginx
 
启动容器:
docker start nginx
docker ps
 
 
删除容器:
docker rm nginx    //删除镜像,容器若是正在运行,则无法直接删除
加 -f 能够强制删除正在运行的容器
docker rm nginx -f
 
加 -f 强制删除
 
 
 
重启容器:
docker restart nginx
 
 
设置容器随机自启:
使用 docker update 更新容器配置
docker update --restart=always nginx
 
 
元数据信息:
以一本书来举例:
元数据信息就是:书的名字、书的作者、书的出版社、书友多少页、书的目录、目录的内容、出的价格
容器的元数据信息是:容器镜像加密的值,容器的网络、容器的网管、ip地址、掩码、使用的host端口等
本身原有的数据信息,叫做元数据信息
 
 
镜像管理命令:
 
删除镜像:
docker images
docker rmi nginx:1.24.0
 
 
 
docker nginx源码: