网站建设的主要步骤有哪些,北京百度推广电话,国内个人网站,廊坊seo排名公司目录
Docker理解
1、Docker本质
2、Docker与虚拟机的区别
3、Docker和JVM虚拟化的区别
4、容器、镜像的理解
5、Docker架构
Docker客户端
Docker服务器
Docker镜像
Docker容器
镜像仓库
Docker基本操作
1、Docker镜像仓库
镜像仓库分类
镜像仓库命令
docker lo…目录
Docker理解
1、Docker本质
2、Docker与虚拟机的区别
3、Docker和JVM虚拟化的区别
4、容器、镜像的理解
5、Docker架构
Docker客户端
Docker服务器
Docker镜像
Docker容器
镜像仓库
Docker基本操作
1、Docker镜像仓库
镜像仓库分类
镜像仓库命令
docker login
docker pull
docker push
docker search
docker logout
2、Docker镜像操作
docker images
docker image inspect
docker tag
docker rmi
docker build
docker save
docker load
docker history
docker import
docker image prune
去 DockerHub 搜索并拉取一个 Nginx 镜像打包后删除镜像重新加载 .tar 文件
DockerHub搜索 Nginx 镜像
利用docker pull命令拉取镜像
利用docker save命令将 Nginx:latest打包为一个 Nginx.tar 包
利用docker rmi 删除本地的 Nginx:latest
利用docker load 重新加载 Nginx.tar文件
3、Docker容器操作
docker run
docker ps
docker logs
docker exec
docker rm
4、数据卷
数据卷解决了什么问题
数据卷操作
创建一个数据卷查看数据卷在宿主机的目录位置实现挂载数据卷最后修改容器内容
使用docker run在运行容器的时候可以通过 -v 参数来挂载一个数据卷到某个容器目录
查看数据卷
查看数据卷的详细信息 Docker理解
1、Docker本质
Docker本质其实是LXC之类的增强版它本身不是容器而是容器的易用工具。容器是Linux内核中的技术Docker只是把这种技术在使用上普及了。
docker是一个用Go语言实现的开源项目可以让我们方便的创建和使用容器docker将程序以及程序所有的依赖都打包到docker container这样你的程序可以在任何环境都会有一致的表现这里程序运行的依赖也就是容器就好比集装箱容器所处的操作系统环境就好比货船或港口程序的表现只和集装箱有关系(容器)和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。
我们可以看到docker可以屏蔽环境差异也就是说只要你的程序打包到了docker中那么无论运行在什么环境下程序的行为都是一致的真正实现了“build once, run everywhere”。
2、Docker与虚拟机的区别 Docker传统虚拟机底层系统进程操作系统中的操作系统性能体积小、启动速度快、性能好接近原生虚拟机体积大、启动速度慢、性能一般磁盘占用一般为MB一般为GB启动速度秒级分钟级隔离策略CGroupsHypervisor高可用策略弹性、负载、动态备份、容灾、迁移
3、Docker和JVM虚拟化的区别
JVMDocker容器性能JVM需要占用一定的CPU和内存基本没有损失虚拟层面基于JVM虚拟化更加上层基于操作系统更加通用代码无关一个特定代码的执行平台它是运行时才存在的只能支撑特定代码的执行并且必须是在jvm进程内 模拟了一整个操作系统它是静态存在的可以支撑任何相同平台的应用程序 主机隔离性jvm不隔离主机通过命令空间实现隔离
4、容器、镜像的理解
容器就像一个打包工具打包的不仅是你的程序也包括运行环境。就好比你把你的开发主机和开发程序完全复制了一份别人拿到后就不需要搭建环境也不需要根据环境进行调试直接就可以运行了。
镜像像是一个包含了OS文件系统和应用的对象类似虚拟机的模板比如Window10镜像。如果你是一个开发 者可以把镜像看成面向对象编程中的只读类(read-only Class)。
容器和镜像几乎一模一样唯一的区别是镜像是只读的而容器上面有一个可读写层。所以容器镜像读写层。
5、Docker架构 Docker客户端
是用户和docker交互的一种方式。它用来接收用户指令并且和docker的守护进程进行通信。
Docker服务器
Docker daemon运行在Docker host上负责创建、运行、监控容器构建、存储镜像。默认配置下Docker daemon默认只能响应来自本地Host的客户端请求
Docker镜像
Docker 镜像是用于创建Docker容器的模板。可将Docker镜像看成只读模板类似于安装系统用到的那个iso文件我们通过镜像来完成各种应用的部署。通过它可以创建Docker容器。
Docker容器
Docker容器就是Docker镜像的运行实例容器是独立运行的一个或一组应用。容器可以被启动、开始、停止、删除等操作每个容器都是相互隔离的。可以把容器看做是一个简易版的linux环境包括root用户权限、进程空间、用户空间和网络空间等和运行在其中的应用程序。
镜像仓库
Registry是存放Docker镜像的仓库Registry分私有和公有两种。
Docker基本操作 1、Docker镜像仓库
镜像仓库Docker Registry具备存储、管理和分发镜像的功能镜像是Docker运行容器的前提仓库是存放镜像的场所可见镜像更是Docker的核心。
镜像仓库管理多个RegistryRegistry通过命名来区分。每个Registry包含一个或多个镜像镜像通过镜像名称和标签来区分。
镜像仓库分类
公有仓库像阿里云、dockerhub等放到公有网络上不用登录就可以下载镜像供大家使用
私有仓库不对外开放往往位于私有网络只有内部人员可以使用
镜像仓库命令 查看所有命令 docker --help docker login
登录到一个Docker镜像仓库 docker pull
从镜像仓库中拉取或者更新指定镜像 docker pull [OPTIONS] NAME[:TAG|DIGEST] docker push
将本地的镜像上传到镜像仓库要先登陆到镜像仓库 docker push [OPTIONS] NAME[:TAG] docker search
从Docker Hub查找镜像 docker search [OPTIONS] TERM docker logout
登出一个Docker镜像仓库如果未指定镜像仓库地址默认为官方仓库Docker Hub docker logout [SERVER] 2、Docker镜像操作
docker images
查看镜像
docker images [OPTIONS] [REPOSITORY[:TAG]] docker image inspect
查看镜像详细信息 docker image inspect [OPTIONS] IMAGE [IMAGE...] docker tag
标记本地镜像用于推送镜像仓库 docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] docker rmi
删除本地镜像 docker rmi [OPTIONS] IMAGE [IMAGE...] 关键参数 -f强制删除 --no-prune不移除该镜像的过程镜像默认移除
docker build
通过dockerfile制作镜像
docker save
将指定镜像保存成tar归档文件 docker save [OPTIONS] IMAGE [IMAGE...] 关键参数 -o输出到的文件
docker load
导入使用docker save命令导出的镜像 docker load [OPTIONS] 关键参数 --input-i指定导入的文件代替STDIN --quiet-q精简输出信息
docker history
查看镜像历史 docker history [OPTIONS] IMAGE 关键参数 -H--human大小和日期采用人容易读的格式展现 --no-trunc显示全部信息不要隔断 -q--quiet只显示镜像id信息
docker import
从归档文件docker export中创建镜像
docker image prune
删除不使用的镜像 docker image prune [OPTIONS] 关键参数 -a--all删除全部不使用的镜像 --filter filter指定过滤条件 -f--force不提示是否删除
去 DockerHub 搜索并拉取一个 Nginx 镜像打包后删除镜像重新加载 .tar 文件
DockerHub搜索 Nginx 镜像 查看 Nginx 镜像的帮助文档信息 利用docker pull命令拉取镜像 docker pull nginx 没有指定版本时就为最新版本
查看镜像 利用docker save命令将 Nginx:latest打包为一个 Nginx.tar 包 利用docker rmi 删除本地的 Nginx:latest 利用docker load 重新加载 Nginx.tar文件 3、Docker容器操作
可以通过docker ps查看容器状态
docker run
创建一个新的容器并运行一个命令 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 关键参数 -d后台运行容器并返回容器ID -i以交互模式运行容器通常与-t同时使用 -P随机端口映射容器内部端口随即映射到主机的端口 -p指定端口映射格式为主机宿主端口容器端口 -t为容器重新分配一个伪输入终端通常与-i同时使用 --namenginx-lb为容器制定一个名称 -h mars指定容器的hostname -e usernameritchie设置环境变量 -m设置容器使用内存最大值 --networkbridge指定容器的网络连接类型 --link[]添加链接到另一个容器 --volume-v绑定一个卷 --rmshell退出的时候自动删除容器
例如 docker run -d -p 8081:80 nginx:1.23.4 docker ps
查看容器运行状态
关键参数 -a查看所有状态的容器 -f根据条件过滤显示的内容 --format指定返回值的模版文件如json或者table -l显示latest的容器 -n列出最近创建的n个容器 --no-trunc不阶段输出 -q静默模式只显示容器编号 -s显示总的文件大小
docker logs
查看容器日志信息
-f持续查看容器信息
docker exec
进入容器 docker exec -it mynginx bash 进入mynginx的容器里
docker rm
删除容器不能删除运行中的容器
-f强制删除
4、数据卷
数据卷volume是一个虚拟目录是容器内目录与宿主机目录之间映射的桥梁
数据卷解决了什么问题
容器与数据容器内文件耦合所引发的问题容器内数据修改困难修改时需进入容器内操作操作复杂不方便数据不可复用容器内的修改对外不可见也就是说每新建一个容器均需执行一次相关操作升级维护困难升级容器时会删除旧容器而数据存储在容器内也就是说容器升级时数据会跟随旧容器一同被删除。
数据卷操作
数据卷操作的基本语法 docker volume [COMMAND] 相关参数
create创建数据卷
ls查看所有数据卷
rm删除指定数据卷
inspect查看某个数据卷的详情
prune清楚数据卷 在执行docker run命令时使用-v 数据卷容器内目录 可以完成数据卷挂载当创建容器时如果挂载了数据卷且数据卷不存在会自动创建数据卷 创建一个数据卷查看数据卷在宿主机的目录位置实现挂载数据卷最后修改容器内容
使用docker run在运行容器的时候可以通过 -v 参数来挂载一个数据卷到某个容器目录 其中 -v 后面的 html 是我们刚刚创建的数据卷如果没创建会自动创建而后面的 /user/share/nginx/html 是对应容器中的目录地址
查看数据卷 查看数据卷的详细信息 vim 打开后可以看到 index.html 并修改标题数据 网页访问