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

新建网站百度怎么收录微信小游戏

新建网站百度怎么收录,微信小游戏,电子商务的发展现状与趋势,哪些网站是做设计的Centos7 docker 容器内root身份应用自启动 /usr/sbin/init 问题 环境#xff1a;我在一个 docker 容器内手动安装了 mysql、nginx、autotestsystem#xff08;自己的服务#xff09;#xff1b; mysql 和 nginx 都做了服务脚本#xff1a;mysqld.service、nginx.se… Centos7 docker 容器内root身份应用自启动 /usr/sbin/init 问题 环境我在一个 docker 容器内手动安装了 mysql、nginx、autotestsystem自己的服务 mysql 和 nginx 都做了服务脚本mysqld.service、nginx.service并设置了开机自启动 systemctl enable mysqld.service systemctl enable nginx.service vi mysqld.service vi nginx.service 自己的应用位置 /opt/AutoTestSystem/ui/              #前端前端用的nginx /opt/AutoTestSystem/server/          #后端后端用的python flask /opt/AutoTestSystem/server/start.sh  #后端服务启动脚本 /opt/AutoTestSystem/server/stop.sh   #后端服务停止脚本 ln -s /opt/AutoTestSystem/server/start.sh /usr/bin/autotestsystem-start ln -s /opt/AutoTestSystem/server/stop.sh /usr/bin/autotestsystem-stop # cat /opt/AutoTestSystem/server/start.sh  #!/bin/sh pid$(ps aux |grep  python3 main.py |grep -v grep | awk {print $2}) echo $pid if [ -n $pid ]; then   echo WARNNING: main.py already is running, need not run again!   exit fi # start server pushd /opt/AutoTestSystem/server  21 /dev/null $(nohup python3 main.py log ) sleep 2 pid$(ps aux |grep  python3 main.py |grep -v grep | awk {print $2}) if [ -z $pid ]; then  echo ERROR: start failed! else  echo SUCCESS: start success! fi popd 21 /dev/null # cat /opt/AutoTestSystem/server/stop.sh   #!/bin/sh #pid$(ps aux |grep  python3 main.py |grep -v grep | awk {print $2}) pid$(ps aux |grep  /opt/AutoTestSystem/server/main.py |grep -v grep | awk {print $2}) if [ -z $pid ]; then  echo INFO: main.py is not running  exit fi  echo INFO: to stop main.py, pid is: $pid $(kill -9 $pid) sleep 3 pid2$(ps aux |grep  python3 main.py |grep -v grep | awk {print $2}) if [ -n $pid2 ]; then  echo ERROR: stop $pid2 failed! else  echo SUCCESS: stop $pid2 success! fi 执行docker commit保存持久化 docker commit -a hrf -m autotestsystem 1.0 478394f89173 autotestsystem:1.0 注意docker commit 时如果指定的 REPOSITORY:TAG 变化则会生成新的image如果不变则不会生成新的image、只会合并docker image查看会多出 REPOSITORY和TAG未空 none 的 IMAGE ID这种是可以删除的docker rmi IMAGE_ID。 创建build目录 Dockerfile init_ats启动脚本执行 docker build 把自启动脚本打包到容器里面去并设置自启动 cd build vi Dockerfile FROM autotestsystem:1.0 WORKDIR /opt/AutoTestSystem COPY init_ats /usr/bin/ RUN chmod x /usr/bin/init_ats ENTRYPOINT init_ats LABEL userhrf USER root vi init_ats #!/bin/bash /usr/sbin/init sleep 2 /usr/bin/autotestsystem-start docker build -t autotestsystem:1.0 . docker images docker run -idt --name autotest2 -p 29090:8080 -p 23306:3306 -p 29000:80 --privileged --cap-add SYS_ADMIN --restartalways autotestsystem:1.0  也尝试过docker run是传参替换  docker run -idt --name autotest2 -p 29090:8080 -p 23306:3306 -p 29000:80 --privileged --cap-add SYS_ADMIN --restartalways autotestsystem:1.0 /usr/sbin/init 或 docker run -idt --name autotest2 -p 29090:8080 -p 23306:3306 -p 29000:80 --privileged --cap-add SYS_ADMIN --restartalways autotestsystem:1.0 init_ats 或 docker run -idt --name autotest2 -p 29090:8080 -p 23306:3306 -p 29000:80 --privileged --cap-add SYS_ADMIN --restartalways autotestsystem:1.0 autotestsystem-start 都不行。 执行脚本还尝试了多种都不行 ENTRYPOINT init_ats ENTRYPOINT [init_ats] ENTRYPOINT [sh,init_ats] ENTRYPOINT [sh,-c,init_ats] ENTRYPOINT autotestsystem-start CMD init_ats CMD autotestsystem-start 网上找了很多资料原因是 root 身份运行docker容器需要特权需要加 /usr/sbin/init 运行容器。可是编写 Dockerfile 执行 docker build 的方式无法支持启动时执行多个脚本或命令只能执行一个或一条命令即使写在一个shell脚本中也不行。 最后换了一个思路既然mysqld和nginx做成了service服务自启动可以systemctl enable xxx那我也尝创建自己应用的.service脚本做成系统服务自启动。 查看当前容器 [rootlocalhost build]# docker ps -a CONTAINER ID   IMAGE      COMMAND            CREATED        STATUS        PORTS                                                                                                                           NAMES 478394f89173   centos:7   /usr/sbin/init   33 hours ago   Up 33 hours   0.0.0.0:9000-80/tcp, :::9000-80/tcp, 0.0.0.0:13306-3306/tcp, :::13306-3306/tcp, 0.0.0.0:9090-8080/tcp, :::9090-8080/tcp   autotest 查看镜像 [rootlocalhost build]# docker images REPOSITORY       TAG       IMAGE ID       CREATED          SIZE autotestsystem   1.0       a781ff5a15b8   46 minutes ago   1.72GB centos           7         eeb6ee3f44bd   2 years ago      204MB 容器 478394f89173 是以root运行的里面的mysqld服务和nginx服务自启正常但自己服务编写的自启动脚本 init_ats 自启不生效。 接下来我尝试把我的 autotestsystem 做成系统服务 进入docker容器 docker exec -it 478394f89173 /bin/bash 创建.service文件 [root478394f89173 system]# vi /lib/systemd/system/autotestsystem.service [Unit] Descriptionautotestsystem Afternetwork.target   [Service] Typeforking ExecStart/opt/AutoTestSystem/server/start.sh ExecReload/opt/AutoTestSystem/server/start.sh ExecStop/opt/AutoTestSystem/server/stop.sh PrivateTmptrue Userroot #Grouproot WorkingDirectory/opt/AutoTestSystem/server/ RestartSec2s   [Install] WantedBymulti-user.target [root478394f89173 system]# chmod 754 /lib/systemd/system/autotestsystem.service [root478394f89173 system]# systemctl daemon-reload    # 每次修改service后需要刷新生效 [root478394f89173 system]# systemctl  start autotestsystem.service  [root478394f89173 system]# systemctl  enable autotestsystem.service  Created symlink from /etc/systemd/system/multi-user.target.wants/autotestsystem.service to /usr/lib/systemd/system/autotestsystem.service. [root478394f89173 system]# ps aux |grep main.py       #启动服务成功 退出容器、停止容器、启动容器进入容器再查看 autotestsystem 能正常自启动 exit docker stop 478394f89173 docker start 478394f89173 docker exec -it 478394f89173 /bin/bash ps aux |grep main.py   退出容器在宿主机下重新 docker build 构建/保存镜像image即持久化 做成.service系统服务了用不到docker启动脚本可以直接docker commit持久化、并删除none镜像  docker commit -a hrf -m autotestsystem 1.0 478394f89173 autotestsystem:1.0 docker rmi docker images | grep  none | awk {print $3} 当然如果要使用docker build方式持久化镜像也是可以的。 如果是在宿主机上build目录下直接vi创建和编写的autotestsystem.service服务器脚本而不是在容器内创建服务脚本和设置自启动则可以使用docker build方式构建镜像、打脚本包到容器里面去 cd build vi autotestsystem.service [Unit] Descriptionautotestsystem Afternetwork.target   [Service] Typeforking ExecStart/opt/AutoTestSystem/server/start.sh ExecReload/opt/AutoTestSystem/server/start.sh ExecStop/opt/AutoTestSystem/server/stop.sh PrivateTmptrue Userroot #Grouproot WorkingDirectory/opt/AutoTestSystem/server/ RestartSec2s   [Install] WantedBymulti-user.target vi Dockerfile FROM autotestsystem:1.0 WORKDIR /opt/AutoTestSystem #COPY  init_ats  /usr/bin/ #RUN  chmod x /usr/bin/init_ats #ENTRYPOINT [init_ats] COPY autotestsystem.service /lib/systemd/system/ COPY autotestsystem.service /etc/systemd/system/multi-user.target.wants/ RUN chmod 754 /lib/systemd/system/autotestsystem.service RUN chmod 754 /etc/systemd/system/multi-user.target.wants/autotestsystem.serviceENTRYPOINT [/usr/sbin/init] LABEL userhrf USER root 说明 build目录下创建和编写下面2个文件autotestsystem.service、Dockerfile。 docker build构建时会执行Dockerfile中的COPY命名COPY是构件阶段执行的。RUN、CMD、ENTRYPOINT命令则是在容器启动阶段执行的。 COPY autotestsystem.service /lib/systemd/system/  这条命令会在docker build构件阶段把build目录下的utotestsystem.service文件拷贝到容器内的/lib/systemd/system/这个目录下。 重新构建 docker build -t autotestsystem:1.0 .  [rootlocalhost build]#  docker build -t autotestsystem:1.0 . [] Building 22.0s (11/11) FINISHED                                                                                                  docker:default   [internal] load .dockerignore                                                                                                              0.7s   transferring context: 2B                                                                                                                0.0s   [internal] load build definition from Dockerfile                                                                                           1.8s   transferring dockerfile: 550B                                                                                                           0.0s   [internal] load metadata for docker.io/library/autotestsystem:1.0                                                                          0.0s   [1/6] FROM docker.io/library/autotestsystem:1.0                                                                                            6.6s   [internal] load build context                                                                                                              0.8s   transferring context: 461B                                                                                                              0.0s   [2/6] WORKDIR /opt/AutoTestSystem                                                                                                          0.7s   [3/6] COPY autotestsystem.service /lib/systemd/system/                                                                                     1.4s   [4/6] COPY autotestsystem.service /etc/systemd/system/multi-user.target.wants/                                                             1.3s   [5/6] RUN chmod 754 /lib/systemd/system/autotestsystem.service                                                                             2.3s   [6/6] RUN chmod 754 /etc/systemd/system/multi-user.target.wants/autotestsystem.service                                                     2.3s   exporting to image                                                                                                                         2.9s   exporting layers                                                                                                                        2.9s   writing image sha256:a1750b9abb21ba65b122edfdf21c37b81896ec68ffbe2f510bfff7ce97e4a95b                                                   0.0s   naming to docker.io/library/autotestsystem:1.0                                                                                          0.1s [rootlocalhost build]#  [rootlocalhost build]#  [rootlocalhost build]#  [rootlocalhost build]# docker run -idt --name autotest2 -p 29090:8080 -p 23306:3306 -p 29000:80 --privileged --cap-add SYS_ADMIN --restartalways autotestsystem:1.0  06ce37919cf068e20fdd676fa51ce1988e3a1d40ba7424d645fd5f561b758a27 [rootlocalhost build]#  [rootlocalhost build]#  [rootlocalhost build]#  [rootlocalhost build]#  [rootlocalhost build]# docker ps -a CONTAINER ID   IMAGE                COMMAND            CREATED         STATUS         PORTS                                                                                                                               NAMES 06ce37919cf0   autotestsystem:1.0   /usr/sbin/init   7 seconds ago   Up 4 seconds   0.0.0.0:29000-80/tcp, :::29000-80/tcp, 0.0.0.0:23306-3306/tcp, :::23306-3306/tcp, 0.0.0.0:29090-8080/tcp, :::29090-8080/tcp   autotest2 478394f89173   centos:7             /usr/sbin/init   33 hours ago    Up 33 hours    0.0.0.0:9000-80/tcp, :::9000-80/tcp, 0.0.0.0:13306-3306/tcp, :::13306-3306/tcp, 0.0.0.0:9090-8080/tcp, :::9090-8080/tcp       autotest [rootlocalhost build]#  最后导出、备份镜像文件 cd release docker save -o autotestsystem-1.0.tar autotestsystem:1.0
http://www.hkea.cn/news/14555339/

相关文章:

  • 商城网站不备案怎么制作网站视频教程
  • 网站开发建设合同书百度关键词竞价
  • 沈阳中小企业网站制作成全视频免费观看在线看 综合 笔记 视频
  • 各行各业网站建设摄影工作室网站建设
  • 《网站开发技术》模板模版网站建设企业
  • 葫芦岛建设厅网站wordpress canvas
  • 小型网站制作seo自学网站
  • 小学生做甜品的网站北京建设监督网站
  • 西宁房地产网站建设如何使用网站模板建设网站
  • 老鹰网站建设四大战略咨询公司
  • 网站建设宣传预算wordpress常用插件
  • 有没有接活做的网站合肥网站制作软件
  • 网站右下角广告代码设计design
  • 做游戏直播那个网站家政网站设计
  • 利用百度搜索自己的网站制作购物网站需要多少钱
  • 建设银行官方网站首页企业WordPress网站远程访问
  • 购物网站导航模板子域名ip
  • 购物网站建设公司信息服务平台是什么
  • 有域名怎样建设网站专业网站营销
  • 网站建设方案原材料价格查询网站
  • 柳州做网站优化张北网站建设
  • 优设设计师网站重庆网站建设夹夹虫公司.很好
  • 网站建设写什么经营范围路灯东莞网站建设
  • 台州网站建站公司网络安全
  • 投资集团网站建设dw怎么做网站
  • 四川城乡建设厅官方网站wordpress怎么首页幻灯片
  • 湖州培训网站建设网络营销如何做网站竞价排名
  • 渭南市住建设局网站西安做seo的公司
  • 茂名专业做网站vi视觉形象设计
  • 网站怎么收费的友情链接网址