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

自做建材配送网站淘宝网店装修

自做建材配送网站,淘宝网店装修,深圳出行最新消息,商务推广网站通过Dockerfile创建镜像 Docker 提供了一种更便捷的方式#xff0c;叫作 Dockerfile docker build命令用于根据给定的Dockerfile构建Docker镜像。docker build语法#xff1a; # docker build [OPTIONS] PATH | URL | -1. 常用选项说明 --build-arg#xff0c;设…通过Dockerfile创建镜像 Docker 提供了一种更便捷的方式叫作 Dockerfile docker build命令用于根据给定的Dockerfile构建Docker镜像。docker build语法 # docker build [OPTIONS] PATH | URL | -1. 常用选项说明 --build-arg设置构建时的变量 --no-cache默认false。设置该选项将不使用Build Cache构建镜像 --pull默认false。设置该选项总是尝试pull镜像的最新版本 --compress默认false。设置该选项将使用gzip压缩构建的上下文 --disable-content-trust默认true。设置该选项将对镜像进行验证 --file, -fDockerfile的完整路径默认值为‘PATH/Dockerfile’ --isolation默认--isolationdefault即Linux命名空间其他还有process或hyperv --label为生成的镜像设置metadata --squash默认false。设置该选项将新构建出的多个层压缩为一个新层但是将无法在多个镜像之间共享新层设置该选项实际上是创建了新image同时保留原有image。 --tag, -t镜像的名字及tag通常name:tag或者name格式可以在一次构建中为一个镜像设置多个tag --network默认default。设置该选项Set the networking mode for the RUN instructions during build --quiet, -q 默认false。设置该选项Suppress the build output and print image ID on success --force-rm默认false。设置该选项总是删除掉中间环节的容器 --rm默认--rmtrue即整个构建过程成功后删除中间环节的容器示例 docker build -t newrain/bbauto:v2.1 .docker build 是docker创建镜像的命令 -t 是标识新建的镜像属于 newrain的 bbauto镜像 v2 是tag .是用来指明 我们的使用的Dockerfile文件当前目录的2.1、 创建镜像所在的文件夹和Dockerfile文件 [rootdocker ~]# mkdir sinatra [rootdocker ~]# cd sinatra/ [rootdocker sinatra]# touch Dockerfile2.2、 在Dockerfile文件中写入指令每一条指令都会更新镜像的信息例如 [rootdocker sinatra]# vim Dockerfile #This is a comment FROM daocloud.io/library/centos:7 MAINTAINER newrain newraindocker RUN yum install -y wget RUN touch a.txt RUN mkdir /test格式说明 命令要大写#是注解。 每一个指令后面需要跟空格语法。 FROM 命令是告诉docker 我们的镜像什么从哪里下载。 MAINTAINER 是描述 镜像的创建人。 maintainer RUN 命令是在镜像内部执行。就是说他后面的命令应该是针对镜像可以运行的命令。2.3、创建镜像 命令 # docker build -t newrain/centso:7 . docker build 是docker创建镜像的命令详细执行过程 [rootdocker sinatra]# docker build -t newrain/centos:7 . Sending build context to Docker daemon 2.048kB Step 1/4 : FROM daocloud.io/library/centos latest: Pulling from library/centos d8d02d457314: Pull complete Digest: sha256:a36b9e68613d07eec4ef553da84d0012a5ca5ae4a830cf825bb68b929475c869 Status: Downloaded newer image for daocloud.io/library/centos:latest--- 67fa590cfc1c Step 2/4 : MAINTAINER newrain newraindocker--- Running in aab3d80939d8 Removing intermediate container aab3d80939d8--- 12bae7d75a23 Step 3/4 : RUN yum update yum install -y epel*--- Running in ad83c387c60f Loaded plugins: fastestmirror, ovl Determining fastest mirrors* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com Resolving Dependencies -- Running transaction check --- Package audit-libs.x86_64 0:2.8.4-4.el7 will be updated --- Package audit-libs.x86_64 0:2.8.5-4.el7 will be an update2.4、创建完成后从镜像创建容器 前后端分离项目 前后端分离项目 ruoyi java spring boot maven vue nodejs 浏览器 nginx 前端 后端 nginx 代码 配置文件 java java包 maven 打包java node 打包前端 mysql 数据导入 redis nginx 代码 配置文件 java java包 maven 打包java node 打包前端 mysql 数据导入 redis git clone https://gitee.com/y_project/RuoYi-Vue.git cd RuoYi-Vue 1、准备数据库 docker run -itd --name ruoyi-mysql -v ./sql:/docker-entrypoint-initdb.d -e MYSQL_ROOT_PASSWORD123456 -e MYSQL_DATABASEry-vue mysql:5.7 --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci 2、准备redis docker run -itd --name ruoyi-redis 3、准备打包java cd RuoYi-Vue docker run -it --rm -v .:/opt/app -v /root/.m2:/root/.m2 -w /opt/app maven:3.8.8-sapmachine-11 mvn package 4、准备打包前端 cd ruoyi-ui docker run -it --rm -v .:/opt/app -w /opt/app node:18.20.3-alpine3.20 /bin/sh -c “npm install --registry http://registry.npmmirror.com npm run build:prod” 5、打包好的内容 java ruoyi-admin/target 前端 ruoyi-ui/dist 6、整理打包好的内容 mkdir -p /opt/ruoyi-xa2401/{ruoyi-java,ruoyi-nginx} cp ruoyi-admin/target/java包 /opt/ruoyi-xa2401/ruoyi-java vim /opt/ruoyi-xa2401/ruoyi-java/Dockerfile FROM java:8u111-jdk COPY ./ruoyi-admin.jar /opt CMD [“java”,“-jar”,“/opt/ruoyi-admin.jar”] cp -r ruoyi-ui/dist /opt/ruoyi-xa2401/ruoyi-nginx cp -r nginx.conf /opt/ruoyi-xa2401/ruoyi-nginx # nginx配置文件在最后面 vim opt/ruoyi-xa2401/ruoyi-nginx/Dockerfile FROM nginx:1.16.1 COPY dist /usr/share/nginx/dist COPY nginx.conf /etc/nginx/nginx.conf CMD [“nginx”,“-g”,“daemon off;”] 7、构建镜像并运行 在java的目录执行java 在nginx目录执行nginx docker build -t ruoyi-java:1.0 . docker build -t ruoyi-nginx:1.0 . docker run -it --name ruoyi-java --rm --linkruoyi-mysql:mysql.ruoyi --linkruoyi-redis:redis.ruoyi ruoyi-java:v1.0 docker run -it --name ruoyi-nginx --linkruoyi-java:java.host -p 80:80 ruoyi-nginx:1.0 nginx配置文件 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main $remote_addr - r e m o t e u s e r [ remote_user [ remoteu​ser[time_local] “KaTeX parse error: Double superscript at position 34: … ̲status b o d y b y t e s s e n t body_bytes_sent bodyb​ytess​enthttp_referer” ’ ‘“ h t t p u s e r a g e n t http_user_agent httpu​sera​genthttp_x_forwarded_for”’; access_log /var/log/nginx/access.log main; charset utf-8; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096;include /etc/nginx/mime.types; default_type application/octet-stream;server {listen 80;server_name localhost;#charset koi8-r;#access_log /var/log/nginx/host.access.log main;location / {root /usr/share/nginx/dist;try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/{proxy_pass http://java.host:8080/; #注意这里的写法proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}} 总结 Dockerfile 在执行命令的时候必须在dockerfile这个目录下才可以会从这个目录找Dockerfile 默认的是Dockerfile ,如果选择其他文件需要加参数 docker build -t myss:1.0 -f ./Dockerfiletest . .是构建上线关系的为了构建镜像 在构建的时候退出了有断点续传 ​ RUN里面命令都没有缓存 CMD和ENTRYPOINT区别 面试题 1、dockerfile中都有哪些语法 2、add和copy有什么区别 宿主机路径 镜像路径 copy是吧宿主机路径复制到镜像路径里面 add是吧宿主机复制过去并解压 如果下载的是url 的话就不会解压 3、CMD和entrypoint的区别 都是在启动容器的时候执行的 如果在Dockerfile定义CMD 执行docker run -it test:1 echo 123 然后查看docker ps -a那个命令就会出现也就是覆盖CMD里面的命令 如果是entrypoint 执行 docker run -it test:1 echo 123就会添加到后面 我们应该先写entrypoint 然后写cmd 4、dockerfile优化 编译一个简单的nginx成功以后发现好几百M。 1、RUN 命令要尽量写在一条里每次 RUN 命令都是在之前的镜像上封装只会增大不会减小2、每次进行依赖安装后记得yum clean all【centos】 #yum clean all 清除缓存中的rpm头文件和包文件3、选择比较小的基础镜像。alpineD里面的命令 如果是entrypoint 执行 docker run -it test:1 echo 123就会添加到后面 我们应该先写entrypoint 然后写cmd 4、dockerfile优化 编译一个简单的nginx成功以后发现好几百M。 1、RUN 命令要尽量写在一条里每次 RUN 命令都是在之前的镜像上封装只会增大不会减小2、每次进行依赖安装后记得yum clean all【centos】 #yum clean all 清除缓存中的rpm头文件和包文件3、选择比较小的基础镜像。alpine
http://www.laogonggong.com/news/103437.html

相关文章:

  • 做ppt找图片在哪个网站在百度上做网站怎么做
  • 网站备案好上海seo推广价格
  • 北京网站优化推广方案右翼网站
  • 展示型网站建吗网站建设
  • 网站建设方案及报价创作平台有哪些
  • 做啪啪网站合肥微信小程序开发的公司
  • 微网站和手机站区别网站集约化建设的总体情况
  • 启铭网站建设起名网站是怎么做的
  • 衡水建设网站表白网页生成源码
  • 怎么做网站的内链设计类专业有哪些专业
  • 厦门建站服务厨具网站模板
  • 大连做网站的公司有哪些安卓软件开发用什么语言
  • 如何加快门户网站建设方案网站建设技术员招聘
  • 网站安全建设策划书网站模块制作
  • 一个网站做多有几种颜色直播策划方案范文
  • 网站制作怎么做搜索栏wordpress怎么去掉作者
  • 自己网站制作wordpress添加文章子标题
  • 做黑网站吗中粮我买网是哪个公司做的网站
  • 深圳网站搜索优化工具如何免费建设网站com
  • 视频微网站开发免费优化推广网站的软件
  • 企业网站页面图片网站建设的规划和流程
  • 海南公司注册网站如何做市场调研和分析
  • 家庭网做网站东莞代码网站建设
  • 哪儿能做网站建设贵阳网站建设多少钱
  • 天津做网站的公司排行北京赛车网站开发公司
  • 部门子网站建设领导小组seo管理是什么
  • 网站正在建设中永久wordpress1g内存
  • 营销型网站设计思路企业网站选wordpress和织梦
  • 公司网站建设费用入什么科目sem广告投放是做什么的
  • 网站建设业务介绍外贸建站模板下载