东凤网站建设自己动手建立网站3

bicheng/2026/1/20 17:36:04/文章来源:
东凤网站建设,自己动手建立网站3,仓储服务 东莞网站建设 技术支持,出入郑州最新通知今天制作项目应用镜像 主要步骤#xff1a; Step1、准备项目应用程序包 Step2、编写Dockerfile及启动脚本 Step3、docker build 构建镜像 Step4、docker run 启动容器 Step5、docker exec 进入容器进行验证 Step6、镜像的导入导出 Step7、提交容器生成新镜像 Step1、准备项目应…制作项目应用镜像 主要步骤 Step1、准备项目应用程序包 Step2、编写Dockerfile及启动脚本 Step3、docker build 构建镜像 Step4、docker run 启动容器 Step5、docker exec 进入容器进行验证 Step6、镜像的导入导出 Step7、提交容器生成新镜像 Step1、准备项目应用程序包 根据项目需要将应用程序包、Nginx配置文件、Mysql初始化sql脚本等文件保存到/opt/dockermaker/project_app下各文件夹内。 rootbg-244 project_app]# tree /opt/dockermaker/project_app /opt/dockermaker/project_app ├── bootstrap.sh ├── Dockerfile ├── ibof │ └── ibof-1.0.0.zip ├── ipy │ ├── ipy-1.0.0.tar.gz │ └── ipy_bootstrap.sh ├── isvr │ ├── isvr-1.0.0.jar │ └── isvr_bootstrap.sh ├── mysql │ ├── createDB.sql │ └── my.cnf └── nginx_cnf├── https.conf├── nginx.conf├── server.crt└── server.keyStep2、编写Dockerfile及启动脚本 为了缩减镜像尺寸应尽量注意 在一个RUN语句中执行多个命令而不应该写多个RUN语句。 清理无用文件使用完的安装包yum缓存等。 下面是代码及说明。 Dockerfile # 基础镜像 FROM centos-nmjpy:v1 LABEL maintainerjason jasonio_version1.0.0# 1、指定工作目录 WORKDIR /opt COPY bootstrap.sh /opt# 2、复制文件 COPY mysql/my.cnf /opt/mysql/ COPY mysql/createDB.sql /opt/mysql/COPY ibof/ibof-1.0.0.zip /opt COPY ipy/ipy-1.0.0.tar.gz /opt COPY ipy/ipy_bootstrap.sh /opt COPY isvr/isvr-1.0.0.jar /opt COPY isvr/isvr_bootstrap.sh /optCOPY nginx_cnf/nginx.conf /opt/nginx COPY nginx_cnf/https.conf /opt/nginx COPY nginx_cnf/server.key /opt/nginx/security COPY nginx_cnf/server.crt /opt/nginx/security# 3、准备工作 RUN mkdir -p /data/mysql_conf \ mkdir -p /opt/nginx/security \ mkdir -p /var/www/ibof \ mkdir -p /opt/isvr \ mkdir -p /opt/ipy \ cp -f /opt/mysql/my.cnf /data/mysql_conf/my.cnf \ chmod 777 /opt/bootstrap.sh# 4、暴露的容器端口 EXPOSE 22 80 443 3306 8090 8091# 5、容器运行时执行的脚本 ENTRYPOINT [/opt/bootstrap.sh] CMD [/usr/sbin/init]bootstrap.sh #!/bin/bash set -x echo #################################### bootstrap.sh start running...echo ############## init mysql start ... INIT_ROOT_PASSWORDroottmp123 echo mysql root temp password INIT_ROOT_PASSWORD : $INIT_ROOT_PASSWORD# set project mysql root password by input. if input none, then set defult value. MYSQL_ROOT_PASSWORD${MYSQL_ROOT_PASSWORD:-jason123} echo project mysql root password MYSQL_ROOT_PASSWORD : $MYSQL_ROOT_PASSWORDmkdir -p /data/mysql/{data,log,tmp} chown -R mysql:mysql /data/mysqlecho [--1--] change mysql config file: /etc/my.cnf - /data/mysql_conf/my.cnf mv /etc/my.cnf /etc/my.cnf.old ln -s /data/mysql_conf/my.cnf /etc/my.cnfecho [--2--] mysql new datadir /data/mysql/data chown -R mysql:mysql /data/mysql cp -rf /var/lib/mysql/* /data/mysql/data/ chown -R mysql:mysql /data/mysqlecho [--3--] start mysql ... mysqld --usermysql   sleep 2 function start_mysql(){ for p in  {3..0};doPORT$(ss -anlp|grep 3306|wc -l)if [ $PORT ! 1 ]; thenecho [WARN] MYSQL not run, now start...mysqld --usermysql sleep 2elseecho [WARN] MYSQL is runningbreakfiif [ $p 0 ]; thenecho 2 [ERROR] MYSQL start failed!exit 1fi done } start_mysql echo start_mysql return: $?echo [--4--] set new root password ... sleep 5 MYSQL_CHmysql --connect-expired-password -uroot -p$INIT_ROOT_PASSWORD $MYSQL_CH EOF alter user rootlocalhost identified by $MYSQL_ROOT_PASSWORD; grant all on *.* to root% identified by $MYSQL_ROOT_PASSWORD; EOF echo set new root password return: $?echo [--5--] excute init sql ... PROJECT_DATABASE_NAMEjason_iodb; MYSQLmysql --protocolsocket -uroot -p${MYSQL_ROOT_PASSWORD} $MYSQL  -e use $PROJECT_DATABASE_NAME; /dev/null 21 if [ $? ! 0 ]; thenecho creating new database $PROJECT_DATABASE_NAME ...$MYSQL /opt/mysql/createDB.sqlecho creating new database return: $? fi echo ############# init mysql finished.echo echo ############# source /etc/profile source /etc/profileecho echo ############## show java version java -versionecho echo ############## show pip version pip -Vecho echo ############## nginx start by /usr/sbin/nginx mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak NGINX_DAEMON$(cat /opt/nginx/nginx.conf | grep daemon off; | wc -l) if [ $NGINX_DAEMON ! 1 ]; thenecho daemon off; /opt/nginx/nginx.conf fi ln -sf /opt/nginx/nginx.conf /etc/nginx/nginx.conf ln -sf /opt/nginx/https.conf /etc/nginx/conf.d/https.conf ln -s /opt/nginx/security /etc/nginx/security /usr/sbin/nginx echo ############################################## echo ######  下面内容 根据项目需要进行修改  ######### echo ##############################################echo echo ############# run ibof cd /var/www/ibof unzip /opt/ibof-1.0.0.zip mv ibof-1.0.0/* . bash ibof_inzip_1.sh  bash ibof_inzip_2.sh  rm -rf ibof-1.0.0 echo echo ############# run isvr mv /opt/isvr-1.0.0.jar /opt/isvr/isvr-1.0.0.jar mv /opt/isvr_bootstrap.sh /opt/isvr/isvr_bootstrap.sh cd /opt/isvr bash isvr_bootstrap.sh java -jar isvr-1.0.0.jar echo echo ############# call ipy mv /opt/ipy-1.0.0.tar.gz /opt/ipy mv /opt/ipy_bootstrap.sh /opt/ipy cd /opt/ipy tar xzvf ipy-1.0.0.tar.gz bash ipy_bootstrap.shecho echo ############## bootstrap.sh finished... tail -f /dev/null my.cnf [mysqld] #datadir/var/lib/mysql #socket/var/lib/mysql/mysql.sock #log-error/var/log/mysqld.log #pid-file/var/run/mysqld/mysqld.pid symbolic-links0datadir/data/mysql/data log-error/data/mysql/log/mysqld.err.log pid-file/data/mysql/tmp/mysqld.pid    socket/data/mysql/tmp/mysqld.sock    tmpdir/data/mysql/tmp/lower_case_table_names1 character-set-serverutf8 max_connections3000[client] #socket/data/mysql/mysql.sock socket/data/mysql/tmp/mysqld.sock[mysql] default-character-setutf8 createDB.sql set names utf8;# set global validate_password.policyLOW; # set global validate_password.length6; CREATE DATABASE If Not Exists jason_iodb Character Set UTF8; #CREATE USER jason_dbalocalhost IDENTIFIED BY jason123; #GRANT all ON jason_iodb.* TO jason_dbalocalhost; #GRANT all ON jason_iodb.* TO root%;use jason_iodb;create table IF NOT EXISTS tbl_user_images( id INT UNSIGNED AUTO_INCREMENT, user_id VARCHAR(40) NOT NULL, label_name VARCHAR(255) NOT NULL, image LONGBLOB NOT NULL, vector VARCHAR(4000) NOT NULL, PRIMARY KEY (id) )ENGINEInnoDB DEFAULT CHARSETutf8; 代码说明 1ENTRYPOINT脚本执行 多个ENTRYPOINT语句存在的时候只执行最后一个ENTRYPOINT语句。 在构建项目应用镜像时需要复制环境镜像的booststrap.sh文件并在此基础上添加项目应用所需的步骤比如 mysql修改或替换配置文件、指定数据目录datadir、修改root密码、数据库表的初始化、为挂载做准备 nginx修改或替换配置文件 项目应用的启动 等等 通常要等环境应用都启动好之后再启动项目应用。所以Nginx启动命令后要加 。 /usr/sbin/nginx 为了避免ENTRYPOINT脚本执行结束后容器自动停止所以要在脚本最后添加 tail -f /dev/null 2mysql挂载数据目录datadir 容器是临时的容器一旦删除容器中的全部内容随之一并删除。 mysql的数据、日志、配置文件通常都需要持久化到宿主机磁盘而并不是保留在容器中。 容器中的挂载路径 配置文件/data/mysql_conf 数据目录/data/mysql其下有data、log、tmp三个子目录。 挂载的思路 1、启动mysql生成数据文件停止mysql这一步在基础镜像的mysql_init.sh中已完成数据存放于默认路径/var/lib/mysql/ 2、创建等待挂载的目录修改所属为mysql:mysql 3、使用新的配置文件/data/mysql_conf/my.cnf并创建链接替换原有配置文件/etc/my.cnf 4、修改配置文件指定数据存放路径datadir/data/mysql/data这一步可以根据项目需要事先修改好在启动容器时通过挂载覆盖容器中的配置文件 5、将原有数据文件复制过去 6、启动mysql 7、容器启动命令中通过-v参数进行挂载 # 2、make mount path mkdir -p /data/mysql/{data,log,tmp} chown -R mysql:mysql /data/mysql# 3、change mysql config file: /etc/my.cnf - /data/mysql_conf/my.cnf mv /etc/my.cnf /etc/my.cnf.old ln -s /data/mysql_conf/my.cnf /etc/my.cnf# 5、mysql new datadir /data/mysql/data cp -rf /var/lib/mysql/* /data/mysql/data/# 6、start mysql mysqld --usermysql 容器启动命令挂载示例 docker run ...  \-v /xxxx/mount/mysql_conf/my.cnf:/data/mysql_conf/my.cnf   \-v /xxxx/mount/mysql/:/data/mysql  \... 3mysql修改密码 在投入项目使用前应根据项目需要修改密码。 INIT_ROOT_PASSWORDroottmp123 MYSQL_ROOT_PASSWORD${MYSQL_ROOT_PASSWORD:-jason123}MYSQL_CHmysql --connect-expired-password -uroot -p$INIT_ROOT_PASSWORD $MYSQL_CH EOF alter user rootlocalhost identified by $MYSQL_ROOT_PASSWORD; grant all on *.* to root% identified by $MYSQL_ROOT_PASSWORD; EOF $INIT_ROOT_PASSWORD: root临时密码。基础镜像构建过程中在mysql初始化时设定。值为roottmp123。 $MYSQL_ROOT_PASSWORD: 项目中的root密码。容器启动命令中通过-e参数赋值。默认为jason123。 容器启动命令赋值示例 docker run ... -e MYSQL_ROOT_PASSWORDyourpassword123 ... 4mysql数据库表的初始化 在bootstrap.sh中登录mysql执行初始化脚本createDB.sql # 项目DATABASE名称。容器启动命令中通过 -e 参数赋值。默认为jason_iodb。 PROJECT_DATABASE_NAME${PROJECT_DATABASE_NAME:-jason_iodb}; # 设置环境变量 MYSQLmysql --protocolsocket -uroot -p${MYSQL_ROOT_PASSWORD} # 判断 项目DATABASE 是否存在 $MYSQL -e use $PROJECT_DATABASE_NAME; /dev/null 21 # 执行初始化脚本 $MYSQL /opt/mysql/createDB.sql 在createDB.sql中 创建一个数据库 jason_iodb新建一个表tbl_user_images # 创建一个 DATABASE 命名为 jason_iodb  CREATE DATABASE If Not Exists jason_iodb Character Set UTF8; use jason_iodb; create table IF NOT EXISTS tbl_user_images( ) 5Nginx配置文件替换及启动根据项目需要进行修改 在Dockerfile中复制Nginx的配置文件。 COPY nginx_cnf/nginx.conf /opt/nginx COPY nginx_cnf/https.conf /opt/nginx COPY nginx_cnf/server.key /opt/nginx/security COPY nginx_cnf/server.crt /opt/nginx/security 在bootstrap.sh中替换Nginx的配置文件并启动。 mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak NGINX_DAEMON$(cat /opt/nginx/nginx.conf | grep daemon off; | wc -l) if [ $NGINX_DAEMON ! 1 ]; thenecho daemon off; /opt/nginx/nginx.conf fi ln -sf /opt/nginx/nginx.conf /etc/nginx/nginx.conf ln -sf /opt/nginx/https.conf /etc/nginx/conf.d/https.conf ln -s /opt/nginx/security /etc/nginx/security/usr/sbin/nginx 如果想使用项目自己的Nginx配置可以在启动命令里通过-v参数进行挂载 docker run ...   \-v /xxxx/mount/nginx/nginx.conf:/opt/nginx/nginx.conf  \-v /xxxx/mount/nginx/https.conf:/opt/nginx/https.conf  \-v /xxxx/mount/nginx/security/server.key:/opt/nginx/security/server.key  \-v /xxxx/mount/nginx/security/server.crt:/opt/nginx/security/server.crt  \ ...6项目应用的复制、解压、启动根据项目需要进行修改 Dockerfile COPY ibof/ibof-1.0.0.zip /opt COPY ipy/ipy-1.0.0.tar.gz /opt COPY ipy/ipy_bootstrap.sh /opt COPY isvr/isvr-1.0.0.jar /opt COPY isvr/isvr_bootstrap.sh /opt RUN mkdir -p /var/www/ibof  \ mkdir -p /opt/isvr \ mkdir -p /opt/ipy bootstrap.sh echo ############# run ibof cd /var/www/ibof unzip /opt/ibof-1.0.0.zip mv ibof-1.0.0/* . bash ibof_inzip_1.sh  bash ibof_inzip_2.sh  rm -rf ibof-1.0.0 echo echo ############# run isvr mv /opt/isvr-1.0.0.jar /opt/isvr/isvr-1.0.0.jar mv /opt/isvr_bootstrap.sh /opt/isvr/isvr_bootstrap.sh cd /opt/isvr bash isvr_bootstrap.sh java -jar isvr-1.0.0.jar echo echo ############# call ipy mv /opt/ipy-1.0.0.tar.gz /opt/ipy mv /opt/ipy_bootstrap.sh /opt/ipy cd /opt/ipy tar xzvf ipy-1.0.0.tar.gz bash ipy_bootstrap.sh Step3、docker build 构建镜像 构建镜像 假设项目名为 io 所以将镜像命名为centos-io版本号v1。 若不写版本号则默认为latest。 # 进入 Dockerfile 文件所在路径 cd /opt/dockermaker/project_app # build --- 创建镜像的命令 # -t --- 指定target 名称 # centos-io:v1 --- 镜像名称:镜像tag # . --- 执行当前路径下的 Dockerfile 文件 docker build -t centos-io:v1 . 查看镜像 docker image lsREPOSITORY      TAG       IMAGE ID       CREATED        SIZE centos-io       v1        c54f86a7261a   3 hours ago    6.23GB centos-nmjpy    v1        4bdd37c68d92   2 hours ago    6.14GB centos          centos7   5e35e350aded   3 months ago   203MB 删除镜像 # docker image rm 镜像名:tag 或 镜像ID docker image rm centos-io:v1 docker image rm c54f86a7261a Step4、docker run 启动容器 4.1、启动容器不挂载 docker run -v /tmp/:/tmp   \-itd --privileged --cap-addSYS_ADMIN  \-p 50022:22    \-p 50080:80    \-p 50443:443   \-p 53306:3306  \-p 58090:8090  \-p 58091:8091  \-e MYSQL_ROOT_PASSWORDyourpassword123  \--namecentos-io:v1 \centos-io  \/usr/sbin/init -v /tmp/:/tmp 挂载宿主机的一个目录格式宿主机目录:容器目录。 -it 启动互动模式。 -d 后台运行。 --privileged 指定容器是否是特权容器。在docker容器运行时让系统拥有真正的root权限。 --cap-add SYS_ADMIN 添加系统的权限不然系统很多功能都用不了的。 -p 53306:3306 端口映射格式宿主机端口:容器端口。 -e 环境变量赋值。格式变量名变量值。 --namecentos-io 将容器命名为centos-io。 centos-io:v1 指定镜像格式镜像名称:镜像tag /usr/sbin/init 初始容器里的CENTOS用于启动dbus-daemon。 4.2、启动容器挂载 准备 1、创建目录。 2、将编辑好的Mysql、Nginx配置文件放置于各自对应的目录下参考下面的文件结构。 3、创建容器之前一定要清空mount/mysql下data、log、tmp目录。 cd /opt/dockermaker/mount mkdir -p /opt/dockermaker/mount/nginx/security mkdir -p /opt/dockermaker/mount/mysql_conf mkdir -p /opt/dockermaker/mount/mysql/{data,log,tmp} rm -rf /opt/dockermaker/mount/mysql/{data,log,tmp}/* 文件结构 rootbg-244 ~]# tree /opt/dockermaker/mount /opt/dockermaker/mount├── mysql│   ├── data│   ├── log│   └── tmp├── mysql_conf│   └── createDB.sql│   └── mysql.mount.cnf└── nginx├── https.conf├── nginx.conf└── security├── server.crt└── server.key createDB.sql 挂载的createDB.sql会创建一个数据库jason_iodb_mount并创建一张表tbl_user_images_mount。 启动容器 挂载 docker run -v /tmp/:/tmp   \-v /opt/dockermaker/mount/mysql_conf/mysql.mount.cnf:/data/mysql_conf/my.cnf \-v /opt/dockermaker/mount/mysql_conf/createDB.sql:/opt/mysql/createDB.sql    \-v /opt/dockermaker/mount/mysql/:/data/mysql  \-v /opt/dockermaker/mount/nginx/nginx.conf:/opt/nginx/nginx.conf  \-v /opt/dockermaker/mount/nginx/https.conf:/opt/nginx/https.conf  \-v /opt/dockermaker/mount/nginx/security/server.key:/opt/nginx/security/server.key  \-v /opt/dockermaker/mount/nginx/security/server.crt:/opt/nginx/security/server.crt  \-itd --privileged --cap-addSYS_ADMIN  \-p 50022:22    \-p 50080:80    \-p 50443:443   \-p 53306:3306  \-p 58090:8090  \-p 58091:8091  \-e MYSQL_ROOT_PASSWORDyourpassword123  \-e PROJECT_DATABASE_NAMEjason_iodb--namecentos-io:v1 \centos-io  \/usr/sbin/init Step5、docker exec 进入容器进行验证 进入容器 docker exec -it centos-io bash 退出容器不停止容器 CtrlPQ 同时按下 Step6、镜像的导入导出 镜像导出 镜像导出保存到指定的本地文件 docker save centos-io:v1 -o /opt/docker-image-centos-io-v1.tar centos-io:v1 指定需要导出的镜像格式镜像名称:镜像tag -o /path/file.tar 指定本地文件 镜像导入 镜像导入不用指定镜像名称。 docker load -i /home/src/docker-image-nginx-1.13.tar-i /path/file.tar 指定本地文件 当出现如下提示时即表示成功 Loaded image: xxxx:xxx Step7、提交容器生成新镜像 进入容器后可以操作容器操作容器会把容器置位新状态。 停止再启动后容器会保持新状态但是镜像没有变化这个新状态仍然是临时的。 但是基于相同的镜像再创建一个容器新容器将会是原始状态。 所以修改容器后可以将容器的新状态提交(commit)成一个新的镜像。 主要步骤 启动容器进入容器修改容器退出容器停止容器提交容器获得新镜像。 修改容器 如同操作Linux一样。 容器与宿主机之间的文件操作 容器 宿主机 将容器下/root/test.js复制到宿主机/opt docker cp 容器名:/root/test.js /opt 宿主机 容器将宿主机/opt/test.js复制到容器下/root docker cp /opt/test.js 容器名:/root 退出容器不停止容器 CtrlPQ 同时按下 提交容器 docker commit 容器id centos-io:v2 centos-io:v2新镜像格式镜像名称:镜像tag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最火的做网站源码语言软件开发工资一般多少深圳

0.背景 一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的。举个例子:用户请求获取订单信息,可能需要调用用户信息、商品详情、物流信息、商品推荐等接口,最后再汇总数据统一返回。 如果是串行(按…

做网站的公司名称北京大型商场

微信群有500人上限的限制,建立多个群的话又有信息无法互通的不便,此机器人通过自动将消息转发到同一个同步组内的所有群,消除这一不便性,间接达成扩大群成员数的目的。 效果演示: 项目地址: https://gith…

深圳网站推广排名小游戏大全网页版

Redis 使用 Lua 脚本进行原子操作Intro之前写过一篇文章也是 Redis 使用 LUA 脚本实现分布式的 CAS 操作,可以参考:基于 Redis 实现 CAS 操作最近使用 Redis 的时候有一个需求,只有值发生变化的时候才更新,如果要更新的值和现在的…

青州做网站的电话制作网页时固定定位是最常用的定位模式

本期推出故障诊断全家桶,包含传统的分析时频诊断方法,依靠数据分解方法的诊断方法,依靠机器学习的诊断方法。还包含了6种适应度函数随意切换的VMD优化方法,16种数据分解方法,包络谱,包络熵等代码。以及作者…

女生wordpress网站适合泾川县住房和城乡建设局网站

1.在自己的项目JS文件夹中建文件:config.js、mssql.js和server.js以及api文件夹下的user.js 2.在config.js中封装数据库信息 let app {user: sa, //这里写你的数据库的用户名password: ,//这里写数据库的密码server: localhost,database: medicineSystem, // 数据…

网站建设技术员保密协议甘肃网站建设方案服务至上

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐IIFE 的基本语法⭐IIFE 的主要作用⭐如何使用 IIFE 来创建私有变量和模块封装⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅…

宿州城乡建设局网站律师网站建设建议

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 MPLS 基于标签转发表进行转发,与路由表类似,标签转发表有两种获取渠道:一是手动配置(类似静态路由),二是通过协议自动学习(类似OSPF)。手动配…

做普工招聘网站阿里云9元做网站

静态长效代理IP和动态短效代理IP是两种常见的代理IP类型,它们在用途和适用场景上存在一定的差异。了解它们的特性以及使用场景有助于我们更好地利用代理IP,提高网络访问的效率和安全性。 一、静态长效代理IP 1. 用途 静态长效代理IP是指长期保持稳定的代…

网站开发工程师待遇淄博网站建设的专业术语

ChatGPT 在论文写作与编程方面也具备强大的能力。无论是进行代码生成、错误调试还是解决编程难题,ChatGPT都能为您提供实用且高质量的建议和指导,提高编程效率和准确性。此外,ChatGPT是一位出色的合作伙伴,可以为您提供论文写作的…

网站怎么做微信支付宝支付汽车业务网站开发公司

UTF-8编码:打破字符编码的国界 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们一同探讨编程世界中一项至关重要的技术——“UTF-…

动易网站模板免费做网站用什么写

来源:《2020 自动驾驶技术报告》进入 2020 年,自动驾驶技术的跨越式路线与渐进式路线之间的阵营划分已经十分明显。但最终自动驾驶要完全实现无人化,其技术还需要进行不断的迭代和发展。对于自动驾驶的技术进展,WEVOLVER 发布的《…

合肥外贸网站建设公司做ppt会去什么网站找图

首先,常量是一个字段,所以需要从字段中获取该值。 但是需要传入的BindingFlags是什么,与其盲猜,不如直接反射所有字段值,查看其中的常量有哪些特性和bool值来判断。 ...static void Main(string[] args){var type typ…

便宜网站建设成都谷歌网站推广费用

文章目录 1.项目内创建函数块(FB)2.项目内创建数据块(DB)2.1去除优化块访问2.2去除优化块的访问后对数据块进行编译 3.在函数块(FB)内实现正转反转的自锁与互锁3.1在函数块内实现电机正反转的梯形图 4.主函…

江门网站制作报价软件开发包括什么内容

来源 : 超级数学建模著名数学家丘成桐先生发表了题为“几何:从黎曼、爱因斯坦到弦论”的演讲,追溯了为广义相对论发展奠定基础的的黎曼几何,回顾了影响广义相对论发展的物理学突破,并谈及量子力学和引力理论相结合、引…

python做网站用什么长春建站网站建设

【7.1】目录与路径 【7.1.2】目录相关操作1)特殊目录列表:(1)2)目录操作命令,底下我们就来谈一谈几个常见的处理目录的命令吧:cd:变换目录pwd:显示目前的目录mkdir:创建一个新的目录…

网站首页自动下拉广告淄博网站制作设计公司

Pdoc:生成优雅Python API文档的工具 在开发Python项目时,文档是至关重要的。它不仅提供了对代码功能和用法的了解,还为其他开发人员提供了参考和使用的便利。Pdoc是一个流行的文档生成工具,专为生成Python API文档而设计。本文将介…

营销网站规划的要点包括( )织梦网站程序模板

订单履约系统的概念模型 订单:客户提交购物请求后,生成的买卖合同,通常包含客户信息、下单日期、所购买的商品或服务明细、价格、数量、收货地址以及支付方式等详细信息。 子订单:为了更高效地进行履约,大订单可能会被…

新农村建设管理网站株洲荷塘区

#204. 鸡兔同笼[2] 题目描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。 已经知道了笼子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物。 输入格式 一行&#x…

版面设计网站有哪些wordpress改造seo

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ InnoDB存储引擎 ⑩⑧【MySQL】详解InnoDB存储引…

90设计网站官网首页国内最好的编程培训学校

GC机制 GC机制又称垃圾回收机制,是Python解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间 有三个核心,分别是引用计数、标记清除和分代回收 引用计数:一个变量值如果有一个变量名指向,那么在它身上就计…