郑州营销网站托管公司,国外网站上不去 dns,营销项目策划公司,宁乡网站开发公司推荐docker概念 
微服务#xff1a;不再是以完整的物理机为基础的服务软件#xff0c;而是借助于宿主机的性能。以小量的形式#xff0c;单独部署的应用。 
docker#xff1a;是一个开源的应用容器引擎#xff0c;基于go语言开发的#xff0c;使用时apache2.0的协议。docker是…docker概念 
微服务不再是以完整的物理机为基础的服务软件而是借助于宿主机的性能。以小量的形式单独部署的应用。 
docker是一个开源的应用容器引擎基于go语言开发的使用时apache2.0的协议。docker是在Linux里面运行的容器化的开源工具。是一种轻量级的虚拟机。 鲸鱼是宿主机集装箱是一个个独立的应用。每个应用之间都是相互隔离和独立的 docker的设计的宗旨 
1、封装 
2、发布 
3、部署 
4、运行 
5、销毁 
容器的生命周期————达到一次封装多次运行的目的。 
可移植可扩展兼容性的目的。随时对地都可以快速的部署和使用docker的应用。 docker应用的隔离 
docker是在Linux上运行与其他的容器共享主机的内核包括其他的资源cpu内存硬盘,但是docker应用都是独立的进行为什么能做到独立 
Linux的命名空间namespace可以实现资源的隔离 
Linux的cgroup可以实现对docker应用程序的资源限制 
namespace是Linux内核的一种特性允许将一组系统资源进行隔离是一种命名空间中的进程看起来像在系统中拥有独立的资源。 
namespace的6个命名空间 
1、UTS  隔离主机名和域名系统调用的参数在每个应用中都能看到自己的主机名和域名与其他进程分隔开。 
2、PID  隔离进程隔离内容进程编号当运行应用之后每个应用都有自己的独立的进程编号的空间每个进程之间不会发生冲突。 
3、network  隔离网络每个应用启动之后都有自己的独立的网络空间隔离网络设备、端口和网络栈。 
4、mount  隔离文件系统隔离文件系统每个应用挂载之后都有之间独立的文件系统挂载点这些挂载点互补冲突也不会互相干扰。 
5、IPC  隔离信号量隔离信号量消息队列和共享内存在IPC隔离当中每个进程之间都有独立的通信资源。 
6、user  隔离用户和用户组每个用户和组都是独立的命名空间不同的用户和组之间都是隔离开的。 docker的核心概念 
仓库docker的仓库是用来保存镜像的地方也是获取镜像和上传镜像的目的地。 
镜像docker镜像是创建容器的基础一个镜像就类似于一个可执行的、包含源码的二进制包包括容器运行的参数、设置、环境变量和配置文件。是一个打包好的可运行程序。 
容器容器是基于镜像创建的运行的实例 docker基本命令 
查看当前下载到本地的镜像-docker images REPOSITORY应用的名称TAG镜像的标签应用的版本IMAGE ID镜像在本地的唯一标识CREATED发布在镜像仓库的时间SIZE镜像的大小 查看镜像的详细信息-docker inspect 
查看镜像的详细信息-docker inspect 镜像ID 镜像下载完保存在/var/lib/docker/ 
overlay2镜像的联合文件系统有四层。 
lowerDir镜像的底层文件系统整个镜像的根文件系统运行载体upperDir可写层用户可以自定义的在底层文件系统上进行修改但是这些修改又不影响根文件系统容器可以实现读写。mergedDir合并目录就是用户看到的容器内的一个视图workDir工作目录进行写操作时可以是联合文件系统overlay2更新和跟踪对于文件系统的修改。 创建镜像副本-docker tag 
docker tag nginx:1.22 nginx:自定义标签相当于给nginx:1.22做了一个副本 镜像的组成镜像名标签 删除镜像-docker rmi -f 
docker rmi -f nginx:1.22/ID删除镜像 导出/导入镜像-docker save/load 
docker save -o /opt/centos.tar centos:7把本地镜像导出到指定位置保存为指定名称 
docker load -i centos.tar把镜像导入到本地docker中 创建容器-docker run -itd 
docker run -itd ubuntu:22.04如何基于镜像创建容器 
-i表示容器开启标准输入接受用户输入的指令。-t生成一个伪终端tty用户可以进入容器的内部。-d容器创建完之后进入后台运行run如果不存在指定的镜像他会自动拉取仓库指定的镜像然后再创建容器。拉取运行 查看运行状态的容器-docker ps 
docker ps -a查看所有状态的容器包括运行和停止以及报错的容器。 Up表示容器正在运行中 
出现exit的原因容器启动之后都会有一个执行的命令如果该命令执行完毕之后没有其他的可执行内容那么容器会立刻退出进入终止状态。 进入容器内部-docker  exec  -it  容器id  bash 
docker  exec  -it  容器id/名称  /bin/bash | bash进入容器内部操作 创建自定义名称容器-docker  run  -itd  --name 
docker  run  -itd  --name  自定义名称  容器名称给容器自定义名称 容器基于镜像的配置和环境创建一个基于Linux系统的在这个系统当中安装了指定应用的小型虚拟机。 宿主机和容器文件传输-docker  cp 
1、宿主机的文件复制到容器内部docker  cp  文件名  容器名:/路径 2、容器的文件复制到宿主机docker  cp  容器名:/文件名   宿主机目录 查看容器的日志-docker  logs  -f 
查看容器的标准输出查看容器的日志 
docker  logs  -f  容器名称 端口映射 
-P指定宿主机随机端口和容器内的端口映射从32768——65535。 
-p需要人工指定宿主机的端口和容器进行映射只要指定端口宿主机没有被占用都可以使用。 
创建一个以nginx:1.22镜像的容器test1指定宿主机随机端口和容器内的80端口映射 82宿主机端口80容器端口 删除容器-docker  rm   -f 
docker  rm   -f  容器名称强制删除容器 容器是基于镜像创建的但是容器一旦运行镜像不再是依赖条件镜像可以删除不影响部署的容器。 查看容器IP地址 批量删除容器 
1、批量删除后台所有已经停止的容器 2、批量删除所有容器