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

苏州个人网站建设合肥网站制作公司

苏州个人网站建设,合肥网站制作公司,aws配置wordpress,如何用ip做网站本文介绍从一个空白的裸机CentOS自己构造检验允许的docker环境。来达到运行环境的高度定制#xff0c;而不是只能依赖VS或者微软或者数据库厂商提供的镜像当做基础制作。更容易理解基础原理。最终输出产物为lisnew.tar#xff0c;一个开箱即用的lis运行环境。 制作的整个过程…本文介绍从一个空白的裸机CentOS自己构造检验允许的docker环境。来达到运行环境的高度定制而不是只能依赖VS或者微软或者数据库厂商提供的镜像当做基础制作。更容易理解基础原理。最终输出产物为lisnew.tar一个开箱即用的lis运行环境。 制作的整个过程的Shell日志 由于微软提供的docker镜像是debian系统的俺不想用加上我想试试自己从裸机做镜像 #先查看可用的centos镜像 [rootlocalhost zlzdocker]# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos DEPRECATED; The official build of CentOS. 7614 [OK] kasmweb/centos-7-desktop CentOS 7 desktop for Kasm Workspaces 38 bitnami/centos-base-buildpack Centos base compilation image 0 [OK] couchbase/centos7-systemd centos7-systemd images with additional debug… 8 [OK] continuumio/centos5_gcc5_base 3 datadog/centos-i386 0 dokken/centos-7 CentOS 7 image for kitchen-dokken 5 dokken/centos-8 CentOS 8 image for kitchen-dokken 3 spack/centos7 CentOS 7 with Spack preinstalled 1 dokken/centos-6 EOL: CentOS 6 image for kitchen-dokken 0 atlas/centos7-atlasos ATLAS CentOS 7 Software Development OS 0 couchbase/centos-72-java-sdk 0 spack/centos6 CentOS 6 with Spack preinstalled 1 couchbase/centos-72-jenkins-core 0 ustclug/centos Official CentOS Image with USTC Mirror 0 couchbase/centos-70-sdk-build 0 couchbase/centos-69-sdk-build 0 couchbase/centos-69-sdk-nodevtoolset-build 0 dokken/centos-stream-8 4 eclipse/centos_jdk8 CentOS, JDK8, Maven 3, git, curl, nmap, mc, … 5 [OK] adoptopenjdk/centos7_build_image 1 corpusops/centos-bare https://github.com/corpusops/docker-images/ 0 dokken/centos-stream-9 6 corpusops/centos centos corpusops baseimage 0 adoptopenjdk/centos6_build_image 0 然后拉取最新的centos镜像 [rootlocalhost zlzdocker]# docker pull centos Using default tag: latest latest: Pulling from library/centosDigest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 Status: Downloaded newer image for centos:latest docker.io/library/centos:latest然后用centos镜像创建一个容器叫lis [rootlocalhost zlzdocker]# docker run -idt -p 5002:5002 -p 8081:8081 --namelis -v /dthealth/app/dthis/imedicallis:/dthealth/app/dthis/imedicallis centos fc99e3ba248f97cc833e57dcb91ad90c973a6f32d609b4ae3ff48ecdf6b55eea docker: Error response from daemon: driver failed programming external connectivity on endpoint lis (2b338616934b737a9aff8cfab4637bf5425f6357cb4600a058f780bec9c1788b): Bind for 0.0.0.0:8081 failed: port is already allocated. [rootlocalhost zlzdocker]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc99e3ba248f centos /bin/bash 11 seconds ago Created lis 7806efbc0a25 imedicallis:9.0 dotnet /dthealth/ap… About an hour ago Up About an hour 0.0.0.0:5002-5002/tcp, :::5002-5002/tcp, 0.0.0.0:8081-8081/tcp, :::8081-8081/tcp imedicallis f87c5bb32393 nginx /docker-entrypoint.… 3 hours ago Exited (0) 3 hours ago nginx3 6e55d8e750ca nginx /docker-entrypoint.… 4 hours ago Exited (0) 3 hours ago nginx1 61208409f5ca nginx /docker-entrypoint.… 4 hours ago Exited (0) 3 hours ago 然后进入容器安装环境发现无法使用yum仓库 [rootlocalhost zlzdocker]# docker exec -it lis /bin/bash [rootfc99e3ba248f /]# [rootfc99e3ba248f /]# [rootfc99e3ba248f /]# [rootfc99e3ba248f /]# [rootfc99e3ba248f /]# [rootfc99e3ba248f /]# ls bin dev dthealth etc home lib lib64 lostfound media mnt opt proc root run sbin srv sys tmp usr var [rootfc99e3ba248f /]# yum install dotnet-sdk-6.0 Failed to set locale, defaulting to C.UTF-8解决yum源的问题wget这些没有也没法安装我通过共享目录拷的阿里云的yum源文件操作的 [rootfc99e3ba248f /]# wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo http://mirrors.aliyun.com/repo/Centos-8.repo bash: wget: command not found [rootfc99e3ba248f /]# mv /dthealth/app/dthis/imedicallis/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/ mv: overwrite /etc/yum.repos.d/CentOS-Linux-BaseOS.repo? y [rootfc99e3ba248f /]# yum makecache Failed to set locale, defaulting to C.UTF-8 Repository extras is listed more than once in the configuration CentOS Linux 8 - AppStream 81 B/s | 38 B 00:00 Error: Failed to download metadata for repo appstream: Cannot prepare internal mirrorlist: No URLs in mirrorlist [rootfc99e3ba248f /]# cat /etc/yum.repos.d/CentOS-Linux-BaseOS.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist does not work for you, as a fall back you can try the # remarked out baseurl line instead. # #[base] nameCentOS-$releasever - Base - mirrors.aliyun.com #failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/BaseOS/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/BaseOS/$basearch/os/ gpgcheck1 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that may be useful [extras] nameCentOS-$releasever - Extras - mirrors.aliyun.com #failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/os/ gpgcheck1 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that extend functionality of existing packages [centosplus] nameCentOS-$releasever - Plus - mirrors.aliyun.com #failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/os/ gpgcheck1 enabled0 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[PowerTools] nameCentOS-$releasever - PowerTools - mirrors.aliyun.com #failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$releasever/PowerTools/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/PowerTools/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/PowerTools/$basearch/os/ gpgcheck1 enabled0 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream] nameCentOS-$releasever - AppStream - mirrors.aliyun.com #failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/AppStream/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/AppStream/$basearch/os/ gpgcheck1 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official [rootfc99e3ba248f /]# yum repolist Failed to set locale, defaulting to C.UTF-8 Repository extras is listed more than once in the configuration repo id repo name AppStream CentOS-8 - AppStream - mirrors.aliyun.com appstream CentOS Linux 8 - AppStream base CentOS-8 - Base - mirrors.aliyun.com extras CentOS-8 - Extras - mirrors.aliyun.com [rootfc99e3ba248f /]# yum makecache Failed to set locale, defaulting to C.UTF-8 Repository extras is listed more than once in the configuration CentOS Linux 8 - AppStream 85 B/s | 38 B 00:00 Error: Failed to download metadata for repo appstream: Cannot prepare internal mirrorlist: No URLs in mirrorlist [rootfc99e3ba248f /]# cd /etc/yum.repos.d/ [rootfc99e3ba248f yum.repos.d]# sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-* [rootfc99e3ba248f yum.repos.d]# sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-* [rootfc99e3ba248f yum.repos.d]# yum update Failed to set locale, defaulting to C.UTF-8 Repository extras is listed more than once in the configuration CentOS Linux 8 - AppStream 628 kB/s | 8.4 MB 00:13 CentOS-8 - Base - mirrors.aliyun.com 1.1 MB/s | 4.6 MB 00:04 CentOS-8 - Extras - mirrors.aliyun.com 72 kB/s | 10 kB 00:00 CentOS-8 - AppStream - mirrors.aliyun.com 802 kB/s | 8.4 MB 00:10 Dependencies resolved. Package Architecture Version Repository SizeUpgrading:bash x86_64 4.4.20-2.el8 base 1.5 Mbind-export-libs x86_64 32:9.11.26-6.el8 base 1.1 Mbinutils x86_64 2.30-108.el8_5.1 base 5.8 Mca-certificates noarch 2021.2.50-80.0.el8_4 base 390 kcentos-gpg-keys noarch 1:8-3.el8 base 12 kcentos-linux-release noarch 8.5-1.2111.el8 base 22 kcentos-linux-repos 解决完了就可以用yum安装.net运行时了也能安装C那些编译环境了和Linux一样编译libgdiplus包细节参照红帽8.5编译libgdiplus。依赖的dotnet环境和libgdiplus都搞好后准备制作镜像文件。 [rootfc99e3ba248f testdraw]# dotnet lisdrawtest.dll 此程序为imedicallis提供用于测试linux下dotnetcore绘图环境 创建位图 创建画笔 填充白色 创建Pen 画一条竖线 画一条横线 创建字体 创建画刷 绘制字符串 测试.jpg 测试.bmp 测试.gif 保存文件到:/testdraw/lisdrawtest.bmp 保存文件到:/testdraw/lisdrawtest.jpg 保存文件到:/testdraw/lisdrawtest.jpg 测试完成如果成功生成图片那么环境可用 [rootfc99e3ba248f testdraw]# cp /dthealth/app/dthis/imedicallis/tool/imedicallis /usr/bin 提交容器修改到镜像就多了一个centos:latest的镜像,然后改名为lis:9.0 [rootlocalhost zlzdocker]# docker commit -a zhanglianzhu -m lis9.0 lis centos sha256:d506d0783711c47869758d132dd0ff05ab1e5b121248cc4ed5d00a8b97dbad09 [rootlocalhost zlzdocker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest d506d0783711 18 seconds ago 1.67GB imedicallis 9.1 149406465334 2 hours ago 208MB zlznginx 1.0 448f5d1d8e1a 6 hours ago 187MB imedicallis 9.0 edd4d70c03a3 8 days ago 208MB nginx latest 021283c8eb95 2 weeks ago 187MB centos none 5d0da3dc9764 22 months ago 231MB [rootlocalhost zlzdocker]# docker tag centos:latest lis:9.0 [rootlocalhost zlzdocker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest d506d0783711 6 minutes ago 1.67GB lis 9.0 d506d0783711 6 minutes ago 1.67GB imedicallis 9.1 149406465334 2 hours ago 208MB zlznginx 1.0 448f5d1d8e1a 6 hours ago 187MB imedicallis 9.0 edd4d70c03a3 8 days ago 208MB nginx latest 021283c8eb95 2 weeks ago 187MB centos none 5d0da3dc9764 22 months ago 231MB把镜像保存为文件 [rootlocalhost zlzdocker]# docker save -o lis.tar lis[END] 2023/7/20 15:27:26由于这是我搞的centos原生的镜像所以没有ENTRYPOINT指定启动名称需要我再处理一次加了启动指令 制作基于lis:9.0的Dockerfile文件 #构造imedicallis的docker镜像 #基础镜像 FROM lis:9.0 AS base#MAINTAINER 维护者信息 MAINTAINER zhanglianzhu#工作路径 WORKDIR /#对外端口 EXPOSE 5002 EXPOSE 8081#映射路径 VOLUME [/dthealth/app/dthis/imedicallis]#启动容器执行的命令 ENTRYPOINT [dotnet, /dthealth/app/dthis/imedicallis/iMedicalLIS.dll,--urls,https://*:5002]载入镜像文件lis.tar然后基于上面的Dockerfile创建新的镜像lisnew,并且创建容器测试站点 [rootlocalhost zlzdocker]# [rootlocalhost zlzdocker]# [rootlocalhost zlzdocker]# docker load -i /zlzdocker/lis.tar Loaded image: lis:9.0 [rootlocalhost zlzdocker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE lis 9.0 d506d0783711 40 minutes ago 1.67GB nginx latest 021283c8eb95 2 weeks ago 187MB centos none 5d0da3dc9764 22 months ago 231MB [rootlocalhost zlzdocker]# docker build -t lisnew:9.0 . [] Building 2.7s (5/5) FINISHED docker:default [internal] load .dockerignore 0.4s transferring context: 2B 0.0s [internal] load build definition from Dockerfile 0.5s transferring dockerfile: 486B 0.1s [internal] load metadata for docker.io/library/lis:9.0 0.0s CACHED [1/2] FROM docker.io/library/lis:9.0 0.0s exporting to image 0.3s exporting layers 0.0s writing image sha256:4d0e66e949d13b9101d2bb0fc9bfe70a6eda8f9130ae96b13c7592a2591bd393 0.1s naming to docker.io/library/lisnew:9.0 0.2s [rootlocalhost zlzdocker]# cat Dockerfile #构造imedicallis的docker镜像 #基础镜像 FROM lis:9.0 AS base#MAINTAINER 维护者信息 MAINTAINER zhanglianzhu#工作路径 WORKDIR /#对外端口 EXPOSE 5002 EXPOSE 8081#映射路径 VOLUME [/dthealth/app/dthis/imedicallis]#启动容器执行的命令 ENTRYPOINT [dotnet, /dthealth/app/dthis/imedicallis/iMedicalLIS.dll,--urls,https://*:5002][rootlocalhost zlzdocker]# [rootlocalhost zlzdocker]# [rootlocalhost zlzdocker]# [rootlocalhost zlzdocker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE lis 9.0 d506d0783711 40 minutes ago 1.67GB lisnew 9.0 4d0e66e949d1 40 minutes ago 1.67GB nginx latest 021283c8eb95 2 weeks ago 187MB centos none 5d0da3dc9764 22 months ago 231MB [rootlocalhost zlzdocker]# docker run -idt -p 5002:5002 -p 8081:8081 --namelisnew -v /dthealth/app/dthis/imedicallis:/dthealth/app/dthis/imedicallis lisnew:9.0 2f99295c04fd45774cdb597818f07eb8aafe13401a4bf6617234834818e21c78 [rootlocalhost zlzdocker]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2f99295c04fd lisnew:9.0 dotnet /dthealth/ap… 8 seconds ago Up 5 seconds 0.0.0.0:5002-5002/tcp, :::5002-5002/tcp, 0.0.0.0:8081-8081/tcp, :::8081-8081/tcp lisnew [rootlocalhost zlzdocker]# 站点正常 然后把新的lisnew镜像打包成文件以后别人拿到lisnew.tar镜像文件后就只需要load和创建容器即可 [rootlocalhost zlzdocker]# docker save -o lisnew.tar lisnew最终部署时候如果有docker环境的话只需要执行下面两个命令即可得到全部的lis运行环境运行。在宿主机器映射的目录放网站文件即可。这样不同组对dotnet版本要求不同对其他环境依赖不同就可以隔离了以后发版只要发布lisnew.tar即可宿主可以是任意安装docker的Linux docker load -i /zlzdocker/lisnew.tar docker run -idt -p 5002:5002 -p 8081:8081 --namelisnew -v /dthealth/app/dthis/imedicallis:/dthealth/app/dthis/imedicallis lisnew:9.0压缩导出和导入 #压缩导出 docker save lisdocker:latest | gzip lisdocker.tar.gz #压缩导入 gunzip -c lisdocker.tar.gz | docker load
http://www.zqtcl.cn/news/316717/

相关文章:

  • 厦门seo网站网站空间 群集
  • 青岛网站推广方案营销自动化平台
  • 管理信息系统与网站建设有什么区别python版wordpress
  • 济南市建设行政主管部门网站公众号登录入口官网
  • 深圳苏州企业网站建设服务企业做网站需要什么条件
  • 电脑什么网站可以做长图攻略公众号 微网站开发
  • 网站核检单怎么用小皮创建网站
  • 企业网站托管平台有哪些烟台高新区建设局网站
  • 石家庄网站做网站和县网页定制
  • 网站个人备案和企业备案潍坊公司注册网站
  • 建个网站的流程互联网裁员
  • 设置网站模板汉口网站建设公司
  • 网站对一个关键词做排名怎么做网站建设 图纸网
  • 什么网站比较吸引流量网页设计代码td
  • 克隆网站怎么做后台wordpress网站缩
  • 仁怀哪儿做网站泰安市建设局
  • 做网站和编程有关系吗手机怎么做电子书下载网站
  • 网站做关键词排名网站快速排名的方法
  • 有网站模板如何预览泉州app开发
  • 网站自助建站系统重庆皇华建设集团有限公司网站
  • 云速成美站做网站好吗汕头制作网站
  • 搜狗搜索网站提交入口在哪里做卖车网站
  • 河南省百城建设提质网站新人怎么做电商
  • 建设机械网站制作创建个人网站教案
  • 无锡网站推广装修风格大全2023新款
  • 在线设计logo免费网站如何在网站上添加qq
  • 高端网站建设哪里好网站建设与管理案例教程
  • 云南专业网站建设上海百度移动关键词排名优化
  • 如何搭建一个完整的网站wordpress 小程序开发
  • 外贸网站建设关键点为网站网站做代理被判缓刑