Docker容器.note
什么是容器:
企业部署方式:
·传统部署方式

且无法定义程序的资源实用量,内存、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.0docker nginx源码:

- 容器数据卷:
1.
