当前位置: 首页 > news >正文

网站分析 案例wordpress svn

网站分析 案例,wordpress svn,免费制作邀请函的app,如何说课网站建设云时代【6】—— 镜像 与 容器 四、Docker#xff08;三#xff09;镜像 与 容器1. 镜像#xff08;1#xff09;定义#xff08;2#xff09;相关指令#xff08;3#xff09;实战演习镜像容器基本操作离线迁移镜像镜像的压缩与共享 2. 容器#xff08;1#xff09;… 云时代【6】—— 镜像 与 容器 四、Docker三镜像 与 容器1. 镜像1定义2相关指令3实战演习镜像容器基本操作离线迁移镜像镜像的压缩与共享 2. 容器1定义2容器的生命周期3基本指令与容器交互容器的资源使用容器与宿主机容器与镜像 4实战演习A. 实际操作案例B. MySQL 与 Redis的容器化安装C. Java 程序的容器制作D. 容器资源更新 四、Docker 三镜像 与 容器 1. 镜像 1定义 镜像 的作用可以看成纳戒 模板。 镜像”模板“很好理解它指的是镜像可以被快速复制拉取而镜像”纳戒“的本质是 **Union FS** 联合文件系统。它可以将几层目录挂载到一起形成一个虚拟文件系统。每一层文件系统我们叫做一层 layer。联合文件系统可以对每一层文件系统设置三种权限只读**readonly**、读写**readwrite**和写出**whiteout-able**但是** ****docker**镜像中每一层文件系统都是只读的。 构建镜像的时候从一个最基本的操作系统开始每个构建的操作都相当于做一层的修改增加了一层文件系统。一层层往上叠加上层的修改会覆盖底层该位置的可见性。当你使用的时候你只会看到一个完全的整体你不知道里面有几层也不清楚每一层所做的修改是什么。 理解了镜像”纳戒“的本质是联合文件系统之后我们就能很好的理解镜像的优缺点了。 优点 屏蔽了环境的差异分层的存储可以充分利用共享层减少存储空间的占用快速分发只添加缺失的层 缺点 镜像添加的依赖占用机器的空间寻找文件只能一层一层找会带来一定的性能损失 2相关指令 docker rmi [镜像]:[版本] docker rmi IMAGE ID# --no-prune 不移除该镜像的过程镜像docker run -it --name mybusybox busybox:1.35.0 sh docker rmi busybox:1.35.0 # error docker rmi -f busybox:1.35.0 # 但是强制删除也没必要可以先删除容器再删除镜像docker save -o xxx.tar [镜像]:[版本]# 下图大小没有发生变化主要原因是打了同一个镜像IMAGE ID相同docker load -i xxx.tardocker load -i xxx.tar -q # -q 是安静模式不显示进度条docker history [镜像]:[版本号]# --no-trunc 不做截断显示全部信息# 该层镜像不被任何一层镜像使用 docker image prune# -a 删除全部不被容器使用的镜像3实战演习 镜像容器基本操作 docker search busybox docker pull busybox:1.36.0 docker images busybox# 查看镜像的下载位置 cd /data/var/lib/docker # 在 /etc/docker/daemon.json cd overlay2 cat repositories.json# 查看镜像的详细信息 docker image inspect busybox:1.36.0 # 查看镜像的分层 docker history busybox:1.36.0# 给镜像打标签 docker tag busybox:1.36.0 lllzxx/fortest:v1.36.0 docker push lllzxx/fortest:v1.36.0 -a# 查看登录站点 cat /root/.docker/config.json# 拉取镜像 docker pull lllzxx/fortest:v1.36.0# 运行容器 docker run -it -d --name mybusybox -h myweb -e myenvtest lllzxx:v1.36.0 sh ifconfig exit# 查看所有容器 docker ps -a# 删除镜像 docker rmi lllzxx/fortest:v1.36.0 docker rm IAMGE ID # 删除容器离线迁移镜像 # A服务器 docker pull lllzxx/fortest:v1.36.0 cd /data/lllzxx docker images docker save -o mybusybox.tar lllzxx/fortest:v1.36.0# B服务器 docker version # 检查是否安装Docker没有则安装 mkdir -p /data/lllzxx cd /data/lllzxx ll# A服务器 scp mybusybox.tar rootIP:/data/lllzxx # 需要输入密码# B服务器 ll docker load -i mybusybox.tar docker images docker run -it lllzxx/fortest:v1.36.0 sh ifconfig ping www.baidu.com exit镜像的压缩与共享 docker images nginx docker pull [镜像]:[版本号] # 查看远端和本地的大小是否一样? # 不一样。远端①节省存储空间 ②减少网络带宽 # 如果远端的镜像是相同的只是不同别名的话并不会真正上传只会标示出不同镜像2. 容器 1定义 容器是镜像的运行实体。镜像是静态的只读文件而是容器带有运行时需要的可写文件层并且容器中的进程属于运行状态。容器本质上是主机运行的一个进程但是该进程被进行了各种各样的限制无法看到主机的进程、环境变量、网络等信息。注不同角度理解会对容器做出不同定义其他角度见”云时代【1】“。 2容器的生命周期 3基本指令 docker create --name mywebs1 -p 8080:80 nginx:1.23.4 # 创建容器拧钥匙 docker ps -a | grep mywebs1 docker start mywebs1 # 启动容器踩油门 docker ps -a | grep mywebs1docker container inspect mywebs2docker container inspect -s mywebs2 # -s 显示总的文件大小docker stop mywebs2 # 停止-踩刹车 # 使用 stop 超时也会杀死容器docker start mywebs2 # 开启-踩油门docker ps -a | grep mywebs2docker logs -f -n 5 mywebs2docker restart mywebs2docker restart -s 9 mywebs2docker kill mywebs2docker wait mywebs3docker run -d --name mywebs3 nginx:1.23.4 docker ps -a docker stop mywebs3 docker container prune docker ps -adocker rm -f [容器名] # -f 强制删除运行中的容器# 重新 docker run 的话名称和端口相同也不会冲突docker logs mywebs2# -f 跟踪日志输出 # -since2099-01-01 # -n x 多少条数据与容器交互 docker attach mywebs2# 使用 ctrl c 之后会直接退出容器熄火docker attach --sig-proxyfalse mywebs2 # --sig-proxy 使用 ctrl c 之后不会退出容器docker exec -it mywebs2 bashdocker exec -it -d mywebs2 nginx -V # 在后台运行容器docker exec -it -e mynginxlllzxx mywebs2 bash # 设置容器的环境变量docker exec -it mywebs2 cat /etc/passwd docker exec -it -u nginx mywebs2 nginx -v # 指定用户docker exec -it -w /etc mywebs2 bash # 指定工作目录容器的资源使用 docker top mywebs2 docker top mywebs2 aux # aux 能够查看资源使用情况docker pause mywebs3 docker unpause mywebs3docker stats -a --no-stream --no-trunc mywebs2# -a 所有容器停止的也打印 # --format 打印模式默认是表格可以使用json # --no-stream 不实时更新 # --no-trunc 不截断输出docker stats --format jsondocker rename [旧名字] [新名字]free -m docker stats mywebs2 docker update --memory 500m --memory-swap 500m mywebs2 docker stats mywebs2# 一般来说都是会在创建容器的时候就规划好的容器与宿主机 docker port mywebs2 docker port mywebs2 80/tcp # 使用tcp协议的docker cp mywebs2:/usr/share/nginx/html/index.html . # .表示当前目录即当前工作目录。 # ..表示父目录即当前目录的上一级目录。docker cp ./index.html mywebs2:/usr/share/nginx/html/index.html/mkdir -p /data/lllzxx/textexport # -p 是递归地创建目录 cd /data/lllzxx/textexport ls -l docker export -o myweb3.tar mywebs3 docker import -m 将文件转回为镜像 mywebs3.tar mywebs3:v1.0 # 与 save 和 load 相比会丢失信息# A服务器 docker pull lllzxx/fortest:v1.36.0 cd /data/lllzxx docker images docker save -o mybusybox.tar lllzxx/fortest:v1.36.0# B服务器 docker version # 检查是否安装Docker没有则安装 mkdir -p /data/lllzxx cd /data/lllzxx ll# A服务器 scp mybusybox.tar rootIP:/data/lllzxx # 需要输入密码# B服务器 ll docker load -i mybusybox.tar docker images docker run -it lllzxx/fortest:v1.36.0 sh ifconfig ping www.baidu.com exitdocker exec -it mywebs2 bash echo Hello World! /test.html ls -ldocker diff mywebs2容器与镜像 docker images docker run -d --name mywebsforcommit nginx:1.23.4 docker ps | grep mywebsforcommit docker images mywebsforcommit docker commit mywebsforcommit mywebsforcommit:v1.0 # docker commit [容器] [镜像名]:[版本号] docker images mywebsforcommitdocker exec -it mywebsforcommit bash echo Hello World! /testforcommit.txt ls -l exit docker diff mywebsforcommit docker commit mywebsforcommit mywebsforcommit:v2.0 docker run -it --rm mywebsforcommit:v2.0 bash ls -l cat testforcommit.txt exitdocker commit -a lzxx -m create by lzxx -p mywebsforcommit mywebsforcommit:v3.0# -a 指定创建者 # -m 描述信息 # -p 创建镜像时停止docker commit -a lzxx -m create by lzxx -c CMD [tail,-f,/etc/hosts] -p mywebsforcommit mywebsforcommit:v4.0 docker images mywebsforcommit docker run -d --rm --name mywebsforcommit2 mywebsforcommit:v4.0 docker ps --no-trunc | grep mywebsforcommit4实战演习 A. 实际操作案例 docker images nginx docker run -d --name mynginx01 -p 8101:80 nginx:1.22.0 docker ps docker container inspet mynginx01 docker logs -f -n 10 mynginx01 docker rm mynginx01 docker stop mynginx01 docker ps -a | grep mynginx01docker create --name mynginx02 -p 8102:80 nginx:1.22.0 docker ps -a | grep mynginx02 docker start mynginx02 docker ps -a | grep mynginx02docker kill mynginx02 docker ps -a | grep mynginx02 docker start mynginx02 docker ps -a | grep mynginx02docker stop mynginx02 docker ps -a | grep mynginx02 docker start mynginx02 docker ps -a | grep mynginx02docker ps -a | grep mynginx02 docker restart mynginx02 docker ps -a | grep mynginx02docker pause mynginx02 docker ps -a | grep mynginx02 docker unpause mynginx02 docker ps -a | grep mynginx02# 批量过滤 # ps : Process Status即进程状态。 docker ps -a docker stop mywebs1 mywebs2 docker ps docker ps -f namemywebs1 docker ps -f statusexited docker ps -f ancestornginx:1.23.4 docker ps -q# 批量操作 docker stop docker ps -q docker ps -a# A-1.attached模式--该模式是在前台运行按 ctrl c 就会退出容器会简化开发的过程但不能用于生产 docker run --name mynginx03 -p 8103:80 nginx:1.22.0 docker ps | mynginx03# A-2.detached模式--在后台运行 docker run -d --name myngine04 -p 8104:80 nginx:1.22.0 docker ps | mynginx04 exit # 断开连接 docker ps | mynginx04 # 依旧在运行 docker logs -f mynginx04# B.attach 会把 attached模式 转为 detached模式 docker attach mynginx04 ctrl c docker ps -a | mynginx04 # C.interactive模式 # C-1.创建一个可交互的容器 docker run -it --name mynginx05 -p 8105:80 nginx:1.22.0 bash ls / cat /etc/*release* nginx -v nginx # 正式启动nginx ctrl c # 没有影响 exit # shell退出也意味着容器退出 # C-2.与后台运行的容器交互 docker run -it -d --name mynginx06 -p 8106:80 nginx:1.22.0 docker exec -it mynginx06 bash curl 127.0.0.1 exit # shell退出但容器依然正常运行# 容器内部没有vim编辑器 docker run -it -d --name mynginx07 -p 8107:80 nginx:1.22.0 docker exec -it mynginx07 bash cd /usr/share/nginx/html ls -l cat index.html vi index.html # refuse exitmkdir -p /data/lllzxx/testcp cd /data/lllzxx/testcp ls -l docker cp mynginx07:/usr/share/nginx/html/index.html . vi index.html docker cp ./index.html mynginx07:/usr/share/nginx/html/docker exec -it mynginx07 bash cd /usr/share/nginx/html cat index.html# 注意cp 不支持容器与容器之间的拷贝docker run -it --rm --name mynginx08 -p 8108:80 nginx:1.22.0 bash nginx -v exit docker ps -a | grep mynginx08 # 查找不到docker run -d --rm --name mynginx08 -p 8108:80 nginx:1.22.0 # 一停止就删除 docker ps | grep mynginx08 docker stop mynginx08 docker ps -a | grep mynginx08 # 同样查找不到# restart: # no-不重启默认on-failure:3 指定重启次数 # always-总是重启unless-stopped-中途退出也重启 docker run -d --name mynginx09 -p 8109:80 --restartalways nginx:1.22.0 docker exec -it mynginx09 bash nginx -s quit # 停止nginx服务 docker ps | mynginx09 # 发生重启docker stop mynginx09 # 无法再次拉起docker run -it --rm -e MYTEST11 -e MYTEST22 nginx:1.22.0 bash env | grep MYTEST exit# 通过配置文件 设置环境变量 mkdir -p /data/lllzxx/mytestenv cd /data/lllzxx/mytestenv vi myenv.txt docker run -it --rm --env-file./myenv.txt nginx:1.22.0 bash env | grep MYTESTdocker run --rm busybox ifconfig # 查看容器的 docker run --rm --net host busybox ifconfig # 使用宿主机的网络查看宿主机的# A服务器 docker run -d --name mynginx10 -p 8110:80 nginx:1.22.0 docker ps docker exec -it mynginx10 cd /usr/share/nginx/html/ echo Hello World index.html cat index.html exit mkdir -p /data/lllzxx/testtar cd /data/lllzxx/testtar docker export -o mynginx10.tar mynginx10 ls -l# B服务器 mkdir -p /data/lllzxx/testtar cd /data/lllzxx/testtar# A服务器 scp mynginx10.tar rootIP:/data/lllzxx/testtar # scp 在跨云的时候会有速度限制# B服务器 docker import mynginx10.tar mynginx10:v10.0 docker images mynginex10 docker run -d --name mynginx10 -p 8010:80 mynginx10:v10.0 # refuseCMD丢失。 docker inspect mynginx10:v10.0 # 还有很多其他源数据丢失 docker run -d --name mynginx10 -p 8010:80 nginx -g daemon off mynginx10:v10.0 docker save 与 docker export 的区别可看下方文章docker save与docker export的区别_docker版本不同导致save-CSDN博客 docker run -d --name mynginx11 -p 8011:80 nginx:1.22.0 docker logs -f mynginx11# 流的重定向 docker logs mynginx11 info.log 2err.log # info.log 是标准信息流err.log 是标准错误流# 直接看Docker后台的目录 cd /data/var/lib/docker/containers ls docker ps cd xxxxxxx ls cat xxxxx-json.logdocker run -d --name mynginx12 -p 8012:80 nginx:1.22.0 docker stats mynginx12 # 整个容器总的资源占用 docker top mynginx12 aux # 容器中具体进程占用的资源B. MySQL 与 Redis的容器化安装 docker run --name mysql -e MYSQL_ROOT_PASSWORDlzxxmysql -p 8201:3306 -d mysql:5.7 docker images docker ps | grep mysql docker exec -it mysql bash mysql -u root -p # lzxxmysql exit # 退出 MySQL exit # 退出 容器docekr run --name redis -d -p 8300:6379 redis:7 docker ps | grep redis docker exec -it redis bash redis-cli set sellcount 1 get sellcount exit # 退出Redis exit # 退出容器C. Java 程序的容器制作 docker pull ubuntu:22.04 docker images | grep ubuntu docker run -it --name myjava -p 8080:80 ubuntu:22.07 bash # 使用中科大源拉取镜像记得更新缓存 apt search jdk apt-get install java-1.8.0-openjdk.x86_64 -y java -version exitmkdir -p /data/lllzxx/myapp cd /data/lllzxx/myapp # 上传 .jar 包 scp mynginx10.tar rootIP:/data/lllzxx/testtar ls -l docker cp ./myapp.jar myjava:/docker exec -it myjava bash ls / java -jar myapp.jar # 访问地址IP:8080/hello/docker exit # 现在是以前台方式运行可以写 run 指令也可以写 DockerFileD. 容器资源更新 # A窗口 docker pull java:8 docker run -it --name myjava2 java:8 bash# B窗口 cd /data/lllzxx/myapp ls -l docker cp myapp.java myjava2:/# A窗口 ls -l java -jar myapp.jar# C窗口 docker stats myjava2# D窗口 docker update -m 200m --memory-swap 200m myjava2 # 两者一样即只能使用物理内存而不能使用交换内存# A窗口 ctrl c# D窗口 docker update -m 10m --memory-swap 10m myjava2# A窗口 java -jar myapp.jar # OOM-Kill 因为申请的内存太多了无法给这么多资源# A窗口 docker run -it --name myjava3 java:8 bash# B窗口 docker stats myjava3# A窗口 for i in seq 1 $(cat /proc/cpuinfo |grep physical id |wc -l) dodd if/dev/zero of/dev/null done #说明 #cat /proc/cpuinfo |grep “physical id” | wc -l 可以获得 CPU 的个数,我们将其表示为 N #seq 1 N 用来生成到之间的数字 #for i in seq 1 N; 就是循环执行命令,从到 #dd if/dev/zero of/dev/null 执行 dd 命令, 输出到/dev/null, 实际上只占用 CPU, 没有 IO 操作 #由于连续执行个(是 CPU 个数)的 dd 命令, 且使用率为 100%, 这时调度器会调度每个 dd 命令在不同的 CPU 上处理最终就实现所有占用率 100%# C窗口 docker update --cpu-quota 分子 --cpu-period 分母 myjava3
http://www.zqtcl.cn/news/869181/

相关文章:

  • 橙色企业网站源码网站下载软件
  • 满足客户的分销管理系统seo搜索引擎优化技术教程
  • 链接网站制作住房建设部官方网站专家注册
  • 北京保障性住房建设投资中心网站以网络营销为主题的论文
  • 数字火币交易网站开发网站建设设计图图片
  • 惠民建设局网站东莞公司建设网站
  • 网站建设与维护教学课件煤炭网站建设规划书
  • 北京建设网站有哪些公司黄陌陌网站怎么做
  • 视频网页制作教程网站优化防范
  • 做优化网站注意什么开发者模式开着好不好
  • 网站顾客评价网站中怎么做网站统计
  • 网站建设安全措施表白网站是怎么做的
  • 一个服务器可以做几个网站百度北京公司地址全部
  • 武侯区网站建设哪里好点个人社保缴费比例是多少
  • 创建属于自己的网站定制应用软件有哪些
  • 网站建设类岗位建设工程施工合同示范文本2023最新版
  • 建站设计公司wordpress 跨域 cros
  • 做网站的公司哪好工程设计东莞网站建设技术支持
  • 虹口网站开发开发公司设计管理部绩效考核
  • 网站改版升级通知国外服务器公司有哪些
  • 做网站的s标的软件深圳网站建设 湖南岚鸿
  • 设计网站建设的合同书公司装修合同范本
  • 门户网站的好处企业邮箱系统
  • 重庆企业建站公司有那些网站做结伴旅游的
  • 创意营销策划案例网站网页制作及优化
  • 网站上动画视频怎么做的建设兵团12师教育局网站
  • 博客网站开发思维导图app网站制作公司
  • 池州网站建设有哪些公司兴义网站seo
  • seo优化网站模板网站建设的七大优缺点
  • 天猫国际采取的跨境电商网络营销方式关键词排名优化公司推荐