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

贵阳开发网站建设沈阳公司建站

贵阳开发网站建设,沈阳公司建站,做阿里巴巴网站 店铺装修免费吗,小程序软件定制开发一、前言 记录时间 [2024-4-13] 系列文章简摘#xff1a; Docker 学习笔记#xff08;六#xff09;#xff1a;挑战容器数据卷技术一文通#xff0c;实战多个 MySQL 数据同步#xff0c;能懂会用#xff0c;初学必备 Docker 学习笔记#xff08;七#xff09;#x…一、前言 记录时间 [2024-4-13] 系列文章简摘 Docker 学习笔记六挑战容器数据卷技术一文通实战多个 MySQL 数据同步能懂会用初学必备 Docker 学习笔记七介绍 Dockerfile 相关知识使用 Dockerfile 构建自己的 centos 镜像 更多 Docker 相关文章请参考上面专栏哦入门篇 1~5 已完结6 开始是精髓篇容器数据卷、Dockerfile、Docker 网络。 本文主要介绍如何使用 Dockerfile 制作 Tomcat 镜像以及如何在 DockerHub / 阿里云上发布自己的镜像并对 Docker 基本使用进行了总结。 二、制作 Tomcat 镜像 实战编写 Dockerfile制作 Tomcat 镜像。 1. 准备材料 制作 Tomcat 镜像使用的材料有 tomcat 压缩包jdk 压缩包 文章中使用的 tomcat 压缩包为 apache-tomcat-9.0.87.tar.gzjdk 压缩包 jdk-8u45-linux-x64.gz通过上面的官网链接大家可以自行挑选适合的版本。 材料准备完毕后通过 FinalShell 上传到 Linux 服务器中。 如图新建 /home/yuanyuan/build/tomcat/ 目录点击右上角的图标把 tomcat 和 jdk 的压缩包上传。 检查下是否上传成功 # pwd 确认当前目录 [rootlocalhost tomcat]# pwd /home/yuanyuan/build/tomcat# ls 输出该目录下的内容 # tomcat 和 jdk 压缩包放在这个位置 [rootlocalhost tomcat]# ls apache-tomcat-9.0.87.tar.gz jdk-8u45-linux-x64.gz如果想了解 tomcat 和 jdk 压缩包的话可以在 Linux 上尝试解压查看压缩包里的内容。 解压方式tar x表示解压z表示解压 .gz 格式v表示在解压缩时显示过程f表示后面跟文件名 # 命令 tar -zxvf 压缩包全称 tar -zxvf apache-tomcat-9.0.87.tar.gz tar -zxvf jdk-8u45-linux-x64.gz2. 制作基础镜像 制作 Tomcat 镜像需要用到基础镜像 centos但官方的 centos 镜像停止维护了所以需要配置一下。我们需要制作带 yum 的 centos 镜像因为我们要用到 vim 命令而 vim 需要通过 yum 安装。具体操作可以参考这篇文章步骤 5.4。 先运行下官方基础镜像 centos docker run -it centos去查看 yum 的配置文件 cd /etc/yum.repos.d/把镜像替换成能用的 sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-* sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-*生成缓存并完成更新 # 生成更新缓存 yum makecache# 更新 yum yum update -y把这个容器 commit 提交为本地镜像yuanyuan/centos 是笔者给新镜像的仓库命名。 不加版本号默认是最新版。 docker commit -ayuanyuan -myum update -y to centos 容器id yuanyuan/centos3. 编写 Dockerfile 文件 先新建一个 readme.txt 文件用于介绍这个镜像。 touch readme.txt然后新建 Dockerfile 文件注意 Dockerfile 是官方命名是默认的不要写错。 使用 Dockerfile 名字的优点镜像构建build时会自动寻找该文件不需要 -f 指定文件。 vim Dockerfile编写 Dockerfile 内容 FROM基础镜像用上面制作的那个MAINTAINER用户名 邮箱COPY把 readme.txt 复制到 /usr/local/ 目录下ADD后面跟文件压缩包 解压路径它会自动解压缩RUN运行指令安装 vim 命令ENV配置环境变量对比 Windows就是把 java/tomcat 使用目录添加到 PATHWORKDIR容器的工作目录为 /usr/local/EXPOSE暴露 8080 端口CMD容器运行的默认指令用 拼接两条指令启动 tomcat 服务并打印日志。 编写完 Dockerfile 内容后保存文件 :wq FROM yuanyuan/centos MAINTAINER yuanyuan1234567qq.comCOPY readme.txt /usr/local/readme.txtADD jdk-8u45-linux-x64.gz /usr/local/ ADD apache-tomcat-9.0.87.tar.gz /usr/local/RUN yum -y install vimENV MYPATH /usr/local WORKDIR $MYPATHENV JAVA_HOME /usr/local/jdk1.8.0_45 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.87 ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.87 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/binEXPOSE 8080CMD /usr/local/apache-tomcat-9.0.87/bin/startup.sh tail -F /usr/local/apache-tomcat-9.0.87/logs/catalina.out4. 构建镜像 确认工作目录/home/yuanyuan/build/tomcat docker build -t diytomcat .5. 测试默认运行 默认方式运行就是刚才 CDM 中写的命令1. 启动 tomcat 服务2. 打印日志。 CMD /usr/local/apache-tomcat-9.0.87/bin/startup.sh tail -F /usr/local/apache-tomcat-9.0.87/logs/catalina.out测试一下吧 [rootlocalhost tomcat]# docker run diytomcat Tomcat started. 13-Apr-2024 02:59:15.614 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.87 13-Apr-2024 02:59:15.617 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Mar 11 2024 10:12:34 UTC 13-Apr-2024 02:59:15.617 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.87.06. 测试复杂运行 运行镜像 我们来尝试复杂模式的运行 -d后台运行-p 宿主机端口:容器端口把容器的 8080 端口映射到宿主机的 9090 端口--name 容器名字给容器命名-v 宿主机目录:容器目录数据卷挂载把容器中的 tomcat 的 webapps/test 和 logs 挂载到宿主机 docker run -d -p 9090:8080 --name yuanyuan-tomcat -v /home/yuanyuan/build/tomcat/test:/usr/local/apache-tomcat-9.0.87/webapps/test -v /home/yuanyuan/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.87/logs diytomcat完成数据卷挂载后我们可以在宿主机对应的目录中发布 web 项目它会自动同步到容器中。 此外容器还可以把 tomcat 的运行日志同步到宿主机。 容器启动后查看下 tomcat 目录发现 test 和 tomcatlogs 目录文件挂载成功。 ls /home/yuanyuan/build/tomcat进入容器 docker exec -it 容器id /bin/bash进入容器后直接进入了它的工作目录 可以查看下里面的内容发现 tomcat 和 jdk 文件都添加进去了。 [rootlocalhost tomcat]# docker exec -it 1a07737f9b2a /bin/bash [root1a07737f9b2a local]# [root1a07737f9b2a local]# ls apache-tomcat-9.0.87 bin etc games include jdk1.8.0_45 lib lib64 libexec readme.txt sbin share src [root1a07737f9b2a local]# cd apache-tomcat-9.0.87 [root1a07737f9b2a apache-tomcat-9.0.87]# ls bin conf lib logs README.md RUNNING.txt webapps BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work结果测试 先在本地测试一下访问成功 [rootlocalhost tomcat]# curl localhost:9090 !DOCTYPE html html langenheadmeta charsetUTF-8 /titleApache Tomcat/9.0.87/titlelink hreffavicon.ico relicon typeimage/x-icon /link hreftomcat.css relstylesheet typetext/css //head 再去外网测试一下访问成功返回了 tomcat 页面。 注意测试 tomcat 访问外网测试要把防火墙打开。 http://ip地址:90907. 发布项目 用 jps 写一个网页从浏览器访问。 由于配置了数据卷挂载我们直接在本地编写项目就可以完成发布。 进入 /home/yuanyuan/build/tomcat/test 目录 在 test 目录中新建 WEB-INF 目录在 WEB-INF 目录中新建文件 web.xml 编写 web.xml 文件 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttps://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsdversion3.0/web-app然后在 test 目录中新建文件 index.jsp 编写 index.jsp 文件 在页面上输出Hello World! 和 -----Hello, yuanyuan-----tomcat 日志返回-----my test web logs----- % page languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-8 % htmlheadmeta charsetUTF-8titleHello, yuanyuan/title/headbodyHello World!br /%out.println(-----Hello, yuanyuan-----);System.out.println(-----my test web logs-----);%/body /html在浏览器测试 我们的项目发布在 test 目录下 http://ip地址:9090/test/测试结果如下项目发布成功 Hello World! -----Hello, yuanyuan-----再看一下 tomcatlogs 中的日志 日志文件 catalina.out在 /home/yuanyuan/build/tomcat/tomcatlogs 目录下 [rootlocalhost tomcatlogs]# cat catalina.out 13-Apr-2024 03:10:37.892 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.87 # 访问网站就会输出日志 -----my test web logs----- [rootlocalhost tomcatlogs]# 三、发布自己的镜像 1. 发布镜像到 DockerHub 注册 / 登录账号 点击官网地址注册账号并登录。正常注册设置邮箱用户名和密码。注册完成后登录然后通过邮箱验证。 就是网站加载有点慢。 修改 DockerHub 用户名 一种可能存在的情况。 注册的时候写错账号名Username了怎么办没错这个问题笔者遇到了搜索了一圈发现它好像没办法修改。 解决办法是先注销再重新注册。 当然也可以不用管反正就是个账号名字出于对用户名的执着笔者还是决定修改。 注销过程也挺简单的登录 DockerHub先通过邮箱验证。在个人信息页面选择 Deactivate Account 即可。 设置仓库属性 设置下仓库属性可以选择公有Public/ 私有 Private发布的公有镜像可以被其他用户搜索到。 由于笔者尚在初学阶段这里选择 Private 发布。 Linux 登录 DockerHub 在 Docker 中搜索登录方法 [rootlocalhost ~]# docker login --help Options:-p, --password string Password--password-stdin Take the password from stdin-u, --username string Username使用 DockerHub 注册的用户名和密码登录 docker login -u Username -p PasswordLinux 提交镜像 给待发布镜像打标签 注意 tag 前面一定要加上 DockerHub 注册的 Username因为用户名是你的命名空间。 # docker tag your-repository/subname:tagname docker-hub-user-name/your-repository:tagname docker tag 镜像id Username/diytomcat:1.0然后 docker push 完成发布发布时尽量带上版本号。 # docker push docker-hub-user-name/your-repository:tagname docker push Username/diytomcat:1.0可以发现提交的时候也是一层一层进行的。 提交成功后可以在 DockerHub 查看。 [rootlocalhost ~]# docker push Username/diytomcat:1.0 The push refers to repository [docker.io/Username/diytomcat] 5f70bf18a086: Pushed f860e6d97863: Pushed cdaf31be8ae0: Pushed 4142f92cb195: Pushed 9a5703f78e25: Pushed f2633ab4d549: Pushed 74ddd0ec08fa: Pushed 1.0: digest: sha256:d3575b41f94df5b7c19c5c0d6f106f6ddfec2d2ae03096e8510d5a8555555555 size: 1792退出登录 docker logout2. 发布镜像到阿里云 容器镜像服务 登录阿里云找到容器镜像服务。然后在实例列表中选择创建个人实例。 创建命名空间 个人实例创建完成后创建命名空间每个人最多可以创建 3 个命名空间。 创建镜像仓库 命名空间创建完成后创建镜像仓库自己取名字下一步选择本地仓库。 查看仓库的基本信息操作指南中就是详细的使用方法。 发布镜像 这些在操作指南中很详细的都有。 在 Linux 中登录阿里云 Docker Registry docker login --usernamealiyun-username registry.xxx.aliyuncs.com给待发布的镜像打标签 docker tag ImageId 仓库公网地址:镜像版本号发布镜像 docker push 仓库公网地址:镜像版本号补充移除标签方法 我们可以给同一个镜像打很多标签这些标签的镜像 ID 都来自同一个镜像所以 ID 是一样的这时候我们就不能通过 ID 来删除它们了。 解决办法是使用仓库名 版本号进行删除。 docker rmi repository:tag四、总结 本文主要介绍如何使用 Dockerfile 制作 Tomcat 镜像以及如何在 DockerHub / 阿里云上发布自己的镜像并对 Docker 基本使用进行了总结。 如图对 Docker 基本使用进行了总结。 一些参考资料 狂神说系列 Docker 教程https://www.bilibili.com/video/BV1og4y1q7M4/ Docker 官方文档https://docs.docker.com/engine/install/centos/ Docker 远程仓库https://hub.docker.com/ FinalShell 下载http://www.hostbuf.com/t/988.html 阿里云官网https://www.aliyun.com/ Apache 官网https://tomcat.apache.org/ Oracle 官网https://www.oracle.com/
http://www.zqtcl.cn/news/219746/

相关文章:

  • 美工做网站尺寸多少钱怎么做网站免费的
  • 会计信息系统网站建设流程图手机网站图片宽度
  • 已备案网站增加域名wordpress 百度熊掌号
  • 网站建设维护课件ppt百度搜索一下百度
  • 重庆企业网站开发方案wordpress菜单插件
  • 江苏网站seo设计什么学习网站建设
  • 青海网站建设系统电商出口营销要多少钱
  • 上海的网站设计公司百度上做优化
  • 连云港权威网站优化服务如何自己做解析网站
  • 学校网站建设调研报告wordpress update_post_meta
  • 法人变更在哪个网站做公示做企业平台的网站有哪些
  • 制作网站过程有免费的网站域名吗
  • 简单做网站用什么软件价格优惠
  • 在线自助下单网站建设银行上海分行招聘网站
  • 网站备案期间停止解析网站改版后 存在大量404页面
  • 朝阳网站建设 国展东莞常平邮政编码多少
  • 深圳网站建设微赢天下做视频网站服务器多少钱
  • 中小企业网站建设与管理课后答案wordpress主题 亚马逊
  • 网站制作关键技术上海网站建设收费
  • 深圳做互联网教网站公司集团管理软件
  • 华宁网站建设网站建设与维护新的体会
  • 网站后台清空北京网站建设厂家
  • 济南建设银行网站应用制作app软件
  • 网站开发实习个人小结关于做展厅的网站
  • 网站设计三把火如何制作动漫网站模板
  • 重庆做网站 哪个好些嘛开通qq空间申请网址
  • 制作网站 太原买的电脑没有wordpress
  • 图书馆建设投稿网站可信网站认证logo
  • 专做阀门网站网站如何做银联在线支付
  • 南通网站seo网页制作图片轮播