Docker的镜像制作与整套项目一键打包部署的实现

Dockerfile常用指令介绍

指令 描述
FROM 构建的新镜像是基于哪个镜像。例如:FROM centos:6
MAINTAINER 镜像维护者姓名或邮箱地址。例如:MAINTAINER Mr.chen
RUN 构建镜像时运行的Shell命令。例如:RUN ["yum","install","httpd"]
  或者RUN yum install httpd
CMD 运行容器时执行的Shell命令(可以被运行时传递的参数覆盖)。例如:CMD ["-c","/start.sh"]
  或者CMD ["/usr/sbin/sshd","-D"]或者CMD /usr/sbin/sshd -D
EXPOSE 声明容器运行的服务端口。例如:EXPOSE 80 443
ENV 设置容器内环境变量。例如:ENV MYSQL_ROOT_PASSWORD 123456
ADD 拷贝文件或目录到镜像(可以自动解压缩或者下载)
  例如:ADD ["src","dest"]或者ADD https://xxx.com/html.tar.gz /var/www/html
  或者:ADD html.tar.gz /var/www/html
COPY 拷贝文件或目录到镜像(不能自动解压缩)。例如:COPY ./start.sh /start.sh
ENTRYPOINT 运行容器时执行的Shell命令(不能被运行时传递的参数覆盖)。例如:ENTRYPOINT ["/bin/bash","-c","/start.sh"]
  或者ENTRYPOINT /bin/bash -c "/start.sh"
VOLUME 指定容器挂载点到宿主机自动生成的目录或其他容器
  例如:VOLUME ["/var/lib/mysql"]
USER 为RUN,CMD和ENTRYPOINT执行命令指定运行用户
  例如:USER Mr_chen
WORKDIR 为RUN,CMD,ENTRYPOINT,COPY和ADD设置工作目录(指定进入容器中默认被切换的目录)。
  例如:WORKDIR /data
HEALTHCHECK 健康检查。例如:HEALTHCHECK --interval=5m --timeout=3s --retries=3
  CMD curl -f http://localhost/ || exit 1
ARG 在构建镜像时指定一些参数。例如:ARG user

利用Dockerfile编写简单的nginxWeb镜像

#首先开启ipv4转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
net.ipv4.ip_forward = 1

#创建nginx的镜像目录
mkdir -p dockerfile/lib/centos/nginx
cd dockerfile/lib/centos/nginx

#准备Dockerfile文件
vim Dockerfile
FROM centos:7    #构建的新镜像是基于哪个镜像(构建的nginx是基于centos7构建的,依赖centos7的系统支持,如果没有镜像自动下载)
MAINTAINER wk    #镜像制作人
RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel   #构建镜像时运行shell命令,yum安装nginx的依赖包
ADD nginx-1.12.1.tar.gz /tmp     #拷贝文件或目录到镜像下,遇到压缩文件自动解压缩
RUN cd /tmp/nginx-1.12.1 && \     #运行shell命令编译安装nginx,make -j 给与2个线程编译
  ./configure --prefix=/usr/local/nginx && \
  make -j 2 && \
  make install
RUN rm -rf /tmp/nginx-1.12.1* && yum clean all      #删除nginx源码包和清空yum缓存,使容器最轻量化
COPY nginx.conf /usr/local/nginx/conf          #拷贝文件或目录到镜像
WORKDIR /usr/local/nginx                   #为RUN,CMD,ENTRYPOINT,COPY和ADD设置工作目录(指定进入容器中默认被切换的目录)。
EXPOSE 80                            #声明容器的端口号
CMD ["./sbin/nginx", "-g", "daemon off;"]         #运行容器时执行的shell命令 -g daemon off 不以守护进程的方式开启nginx,即不以后台运行的方式开启nginx
#将事先准备好的nginx-1.12.1.tar.gz和nginx.conf配置文件拷贝到当前目录下
ls
Dockerfile nginx-1.12.1.tar.gz nginx.conf

#build基于nginx的docker镜像
docker build -t nginx:1 .
#nginx主配置文件cat conf/nginx.conf
user root;
worker_processes auto; 

error_log logs/error.log info;

pid    logs/nginx.pid; 

events {
  use epoll;
}

http {

  include    mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log logs/access.log main;
  sendfile    on;
  keepalive_timeout 65;

  server {
    listen 80;
    server_name localhost;
    root html;
    index index.html index.php;

    location ~ \.php$ {
      root html;
      fastcgi_pass lnmp_php:9000;    #lnmp_ph为php容器主机名,对应的就是php的IP地址
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
    }
  }
}

构建PHP网站平台镜像

#创建php的镜像目录
mkdir -p /root/dockerfile/lib/centos/php
cd /root/dockerfile/lib/centos/php

#准备Dockerfile文件
vim Dockerfile
FROM centos:7         #新镜像基于centos7镜像
MAINTAINER wk          #新镜像制作人
RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel      #运行shell安装依赖
ADD php-5.6.31.tar.gz /tmp/    #将安装包考到 /tmp下并自动解压缩

RUN cd /tmp/php-5.6.31 && \        #编译安装php,复制php启动文件.并修改启动文件的配置
  ./configure --prefix=/usr/local/php \
  --with-config-file-path=/usr/local/php/etc \
  --with-mysql --with-mysqli \
  --with-openssl --with-zlib --with-curl --with-gd \
  --with-jpeg-dir --with-png-dir --with-iconv \
  --enable-fpm --enable-zip --enable-mbstring && \
  make -j 4 && \
  make install && \
  cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf && \
  sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.conf && \
  sed -i "21a \daemonize = no" /usr/local/php/etc/php-fpm.conf
COPY php.ini /usr/local/php/etc        #将php主配置文件拷贝进去

RUN rm -rf /tmp/php-5.6.31* && yum clean all  #删除不用的文件,清空yum缓存使容器最轻量化

WORKDIR /usr/local/php        #进入容器的位置,也是php程序的位置
EXPOSE 9000               #开启端口9000
CMD ["./sbin/php-fpm", "-c", "/usr/local/php/etc/php-fpm.conf"]    #开启php -c 指定主配置文件

#将事先准备好的php.ini文件及php-5.6.31.tar.gz拷贝到当前目录下
ls
Dockerfile php-5.6.31.tar.gz php.ini

#build基于php的docker镜像
docker build -t php:1 .

创建nginx-php网络环境,并启动容器

#创建一个叫做lnmp的网络
docker network create lnmp
dad428646d8f8278f36b80b3b960493aee8be1960bb1f505bfeebc97022b6385

docker network ls
NETWORK ID     NAME        DRIVER       SCOPE
0604a9338e1b    bridge       bridge       local
b68e9da0b1e6    host        host        local
dad428646d8f    lnmp        bridge       local
cf4b2d0b4394    none        null        local

#创建nginx-php网页挂载目录
mkdir -p /www

#启动php容器
docker run -dit --name lnmp-php --net lnmp --mount type=bind,src=/www,dst=/usr/local/nginx/html php:1
5b49fc160f9e42364238a937149bbb475036b8a28feddf0fe05c1e70b414a151

#启动nginx容器
docker run -dit --name lnmp-nginx --net lnmp -p 8888:80 --mount type=bind,src=/www,dst=/usr/local/nginx/html nginx:1
7ce4d14cf756859e814186090a12b770916f150ed2a5fab2f0dc6ba8c347aab8

docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS         NAMES
7ce4d14cf756    nginx:1       "./sbin/nginx -g 'da…"  16 seconds ago   Up 15 seconds    0.0.0.0:8888->80/tcp  lnmp-nginx
5b49fc160f9e    php:1        "./sbin/php-fpm -c /…"  6 minutes ago    Up 6 minutes    9000/tcp        lnmp-php

#创建测试页面php.info
echo "<?php phpinfo();?>" > /www/index.php

通过浏览器进行访问测试

构建JAVA网站环境镜像

#创建java镜像构建存储目录
mkdir -p dockerfile/lib/centos/tomcat
cd dockerfile/lib/centos/tomcat

#将所需软件包拷贝到当前目录下
ls
apache-tomcat-8.0.46.tar.gz Dockerfile jdk-8u45-linux-x64.tar.gz server.xml

#筹备Dockerfile
vim Dockerfile
FROM centos:7
MAINTAINER wk

ADD jdk-8u45-linux-x64.tar.gz /usr/local    #创建javaJDK环境
ENV JAVA_HOME /usr/local/jdk1.8.0_45       #强行生成一个环境变量

ADD apache-tomcat-8.0.46.tar.gz /usr/local    #解压tomcat
COPY server.xml /usr/local/apache-tomcat-8.0.46/conf   #复制配置文件

RUN rm -f /usr/local/*.tar.gz            #删除安装包 容器轻量化

WORKDIR /usr/local/apache-tomcat-8.0.46      #工作目录 进入容器所在的目录
EXPOSE 8080                       #映射端口
ENTRYPOINT ["./bin/catalina.sh", "run"]      #用catalina。sh run前台启动tomcat

#build基于tomcat的镜像
docker build -t tomcat:1 .

#创建网页挂载目录
mkdir -p /app

#启动tomcat的容器进程
docker run -dit --name=tomcat -p 8080:8080 --network lnmp --mount type=bind,src=/app/,dst=/usr/local/apache-tomcat-8.0.46/webapps tomcat:1

docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES
15eca19688ca    tomcat:1      "./bin/catalina.sh r…"  17 seconds ago   Up 16 seconds    0.0.0.0:8080->8080/tcp  tomcat
7ce4d14cf756    nginx:1       "./sbin/nginx -g 'da…"  2 hours ago     Up About an hour  0.0.0.0:8888->80/tcp   lnmp-nginx
5b49fc160f9e    php:1        "./sbin/php-fpm -c /…"  2 hours ago     Up About an hour  9000/tcp         lnmp_php

#创建网站测试页
mkdir /app/ROOT
vim /app/ROOT/index.html
ddddddddddddddddddd

整套项目一键打包部署

Docker Compose用法

Compose是一个定义和管理多容器的工具,使用Python语言编写。使用Compose配置文件描述多个容器应用的架构,比如使用什么镜像,数据卷,网络,映射端口等;然后一条命令管理所有服务,比如启动,停止,重启等

安装

unzip docker-compose-linux-x86_64.zip
Archive: docker-compose-linux-x86_64.zip
 inflating: docker-compose     

ll docker-compose
-rw-r--r-- 1 root root 8858496 Aug 31 2017 docker-compose

chmod +x docker-compose

mv docker-compose /usr/bin/

YAML文件格式及编写注意事项

YAML是一种标记语言很直观的数据序列化格式,可读性高。类似于XML数据描述语言,语法比XML简单的很多

YAML数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分隔,数组用中括号括起来,hash用花括号括起来

YAML文件格式注意事项:

  • 不支持制表符tab键缩进,需要使用空格缩进
  • 通常开头缩进2个空格
  • 字符后缩进1个空格,如冒号,逗号,横杆
  • 用井号注释
  • 如果包含特殊字符用单引号引起来
  • 布尔值(true,false,yes,no,on,off)必须用引号括起来,这样分析器会将他们解释为字符串。

配置文件常用字段

字段 描述
build 下级字段dockerfile:指定Dockerfile文件名
  下级字段context;构建镜像上下文路径
image 指定镜像
command 执行命令,覆盖默认命令
container_name 指定容器名称
deploy 指定部署和运行服务相关配置,只能在Swarm模式使用
environment 添加环境变量
networks 加入网络,引用顶级networks下条目
ports 暴露端口,与-p相同,但端口不能低于60
volumes 挂载宿主机路径或命名卷。如果是命名卷在顶级volumes定义卷名称
restart 重启策略,默认no,always | on-failure | unless-stopped
hostname
容器主机名

常用命令

字段 描述
build 重新构建服务
ps 列出容器
up 创建和启动容器
exec 在容器里执行命令
scale 指定一个服务容器启动数量
top 显示容器进程
logs 查看容器输出
down 删除容器,网络,数据卷和镜像
stop/start/restart 停止/启动/重启服务

一键部署LNMP网站平台

#查看compose_lnmp包
tree /root/compose_lnmp/
/root/compose_lnmp/
├── docker-compose.yml       #docker-compose启动接口文件
├── mysql
│   ├── conf
│   │   └── my.cnf         #mysql配置文件
│   └── data            #待挂载mysql数据目录
├── nginx
│   ├── Dockerfile         #自定义nginx的Docker镜像配置文件
│   ├── nginx-1.12.1.tar.gz    #nginx源码包
│   └── nginx.conf         #nginx配置文件
├── php
│   ├── Dockerfile         #自定义php的docker镜像文件
│   ├── php-5.6.31.tar.gz     #php源码包
│   └── php.ini          #php配置文件
└── wwwroot            #网页目录
  └── index.php         #默认网页文件
vim docker-compose.yml     #docker-compose启动接口文件必须是以.yml 结尾 他和ansbile都是python写的
version: '3'           #容器版本为3
services:             #容器服务有以下 
 nginx:              #nginx的容器
  hostname: nginx       #容器主机名为nginx
  build:           #指定dockerfile文件的位置
   context: ./nginx      #dockerfile文件位置在当前路径下的nginx目录里
   dockerfile: Dockerfile  #dockerfile文件名:Dockerfile
  ports:             #指定映射端口主机81映射到80
   - 81:80
  networks:         #指定容器网卡在lnmp网桥
   - lnmp
  volumes:          #挂载当前目录下的./wwwroot到容器nginx的网页目录
   - ./wwwroot:/usr/local/nginx/html

 php:              #和nginx类似
  hostname: php
  build:
   context: ./php
   dockerfile: Dockerfile
  networks:
   - lnmp
  volumes:
   - ./wwwroot:/usr/local/nginx/html

 mysql:
  hostname: mysql
  image: mysql:5.6      #下载镜像mysql5.6版本
  ports:
   - 3306:3306
  networks:
   - lnmp
  volumes:            #挂载mysql主配置文件和数据文件
   - ./mysql/conf:/etc/mysql/conf.d
   - ./mysql/data:/var/lib/mysql
  command: --character-set-server=utf8     #执行命令,覆盖默认命令
  environment:              #添加环境变量
   MYSQL_ROOT_PASSWORD: 123456
   MYSQL_DATABASE: wordpress
   MYSQL_USER: user
   MYSQL_PASSWORD: user123

networks:     #加入网络lnmp,引用顶级networks下条目
 lnmp:
#一键部署LNMP
docker-compose -f docker-compose.yml up    #-f指定当前目录下的docker-compose为启动文件,up创建和启动容器
#一键查看所有部署的容器进程
docker-compose -f docker-compose.yml ps
    Name           Command        State      Ports
-------------------------------------------------------------------------------------
composelnmp_mysql_1  docker-entrypoint.sh --cha ...  Up   0.0.0.0:3306->3306/tcp
composelnmp_nginx_1  ./sbin/nginx -g daemon off;   Up   0.0.0.0:81->80/tcp
composelnmp_php_1   ./sbin/php-fpm -c /usr/loc ...  Up   9000/tcp    

#一键终止所有部署的容器进程
docker-compose -f docker-compose.yml stop
Stopping composelnmp_nginx_1 ... done
Stopping composelnmp_php_1  ... done
Stopping composelnmp_mysql_1 ... done#一键启动容器,在后台运行docker-compose -f docker-compose.yml start
#一键清理所有部署的容器进程 docker-compose -f docker-compose.yml down

一键部署Nginx反向代理Tomcat集群实战

#查看compose_nginx_tomcat包
[root@docker ~]# tree compose_nginx_tomcat/
compose_nginx_tomcat/
├── docker-compose.yml
├── mysql
│  ├── conf
│  │  └── my.cnf #mysql的配置文件
│  └── data    #待挂载mysql数据目录
├── nginx
│  ├── Dockerfile   #自定义镜像配置文件
│  ├── nginx-1.12.1.tar.gz #源码包
│  └── nginx.conf     #nginx配置文件
├── tomcat
│  ├── apache-tomcat-8.0.46.tar.gz #源码包
│  ├── Dockerfile   #自定义镜像配置文件
│  └── server.xml   #tomcat配置文件
└── webapps
  └── ROOT
    └── index.html #网页测试文件
#查看docker-compose的启动接口文件
 cat compose_nginx_tomcat/docker-compose.yml
version: '3'
services:
 nginx:
  hostname: nginx
  build:
   context: ./nginx
   dockerfile: Dockerfile
  ports:
   - 82:80
  networks:
   - lnmt
  volumes:
   - ./webapps:/opt/webapps
 tomcat01:
  hostname: tomcat01
  build: ./tomcat
  networks:
   - lnmt
  volumes:
   - /usr/local/jdk1.8.0_45:/usr/local/jdk1.8.0_45
   - ./webapps:/usr/local/apache-tomcat-8.0.46/webapps
 tomcat02:
  hostname: tomcat02
  build: ./tomcat
  networks:
   - lnmt
  volumes:
   - /usr/local/jdk1.8.0_45:/usr/local/jdk1.8.0_45  #docker宿主机的java环境被挂载了!
   - ./webapps:/usr/local/apache-tomcat-8.0.46/webapps  #挂载网页目录
 mysql:
  hostname: mysql
  image: mysql:5.6
  ports:
   - 3307:3306
  networks:
   - lnmt
  volumes:
   - ./mysql/conf:/etc/mysql/conf.d
   - ./mysql/data:/var/lib/mysql
  environment:
   MYSQL_ROOT_PASSWORD: 123456
   MYSQL_DATABASE: db
   MYSQL_USER: user
   MYSQL_PASSWORD: user123
networks:
 lnmt:

每个容器安装JAVA环境,会使容器过大,所以用本地java环境挂在到tomcat容器内,这样节省空间

#由于tomcat容器进程需要挂载docker宿主机本地的java环境
#所以在docker宿主机本地安装jdk-8u45-linux-x64.tar.gz
tar xf jdk-8u45-linux-x64.tar.gz -C /usr/local

#一键部署ngxin+tomcat反向代理集群
docker-compose -f docker-compose.yml up
nginx反向代理配置文件
user root;
worker_processes auto; 

error_log logs/error.log info;

pid    logs/nginx.pid; 

events {
  use epoll;
}

http {

  include    mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log logs/access.log main;
  sendfile    on;
  keepalive_timeout 65;

  upstream www.example.com {
    #ip_hash;
    server tomcat01:8080;   #在compose的接口文件里定义的hostname主机名可直接解析为IP
    server tomcat02:8080;
  }

  server {
    listen 80;
    server_name localhost;

  location / {
    proxy_pass http://www.example.com;
  }

    location ~ \.(html|css|js|jpg|png|gif)$ {
      root /opt/webapps/ROOT;
    }
  }
}

到此这篇关于Docker的镜像制作与整套项目一键打包部署的实现的文章就介绍到这了,更多相关Docker 镜像制作与打包部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker 制作镜像Dockerfile和commit操作

    构建镜像 构建镜像主要有两种方式: 使用docker commit命令从运行中的容器提交为镜像: 使用docker build命令从 Dockerfile 构建镜像. 首先介绍下如何从运行中的容器提交为镜像.我依旧使用 busybox 镜像举例,使用以下命令创建一个名为 busybox 的容器并进入 busybox 容器. $ docker run --rm --name=busybox -it busybox sh 执行完上面的命令后,当前窗口会启动一个 busybox 容器并且进入容器中.在

  • Docker镜像制作详解介绍

    最近由于工作原因,需要对Docker镜像进行制作,这里记录下,也许对大家也有一定帮助! 写在前面:本文docker镜像制作方法更适用于基于已有docker镜像一次性修改. 推荐用Docker File制作docker镜像. 原理是一样的,但是用docker file制作docker镜像能够记录下操作步骤,方便以后更改或者镜像丢失后重新创建. 本文以Ubuntu为基础镜像,预启动一个django项目和ssh服务,制作一个新的镜像. 1.基础镜像 我选用的是从Docker官网下载的ubuntu镜像.

  • Docker如何制作自己镜像并上传dockerhub

    1.首先注册自己的dockerhub账号,注册地址:https://hub.docker.com 2.在linux服务器登录自己的账号:docker login --username=qiaoyeye 3.在https://hub.docker.com/上先找到自己想要的镜像 4.拉取镜像到本地:docker pull centos 5.本地准备jdk和tomcat软件,解压后放入服务器 6.新建Dockerfile文件,注意区分大小写 #----------------------------

  • 在Docker中跑Hadoop与镜像制作方法

    重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像:   Hadoop集群依赖的软件分别为:jdk.ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可: 配置文件准备 1.Hadoop相关配置文件:core-site.xml.hdfs-site.xml.mapred-site.xml.yarn-site.xml.slaves.hadoop-env.sh 2.ssh配置文件:ssh_config 3.Hadoop集群启动文件:start-hadoop.sh 制作镜像

  • dockerfile制作apache镜像的方法

    一.Docker镜像 1.1 docker镜像 应用的是发布的标准格式 支撑一个docker容器的运行 1.2 docker镜像的创建方法 基于已有的镜像创建 基于本地模板创建 基于Dockerfile创建 Docker镜像是分层的结构 ①Dockerfile中的每个指令都会创建一个新的镜像层 ②镜像层将被缓存和复用 ③当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效 ④某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效 ⑤镜像层是

  • 详解制作各种docker镜像

    做了一个星期的镜像,收货颇多,现在整理记录下来,当做工作笔记吧.把常用的几个镜像的Dockerfile分享下. 制作基础docker镜像 第一步:设置Docker镜像源 复制代码 代码如下: yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rp

  • Dockerfile制作官方Tomcat镜像及镜像使用详解

    这两天学习了Dockerfile感觉这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记. 官方Tomcat镜像 地址:https://hub.docker.com/_/tomcat/ 镜像的Full Description中,我们可以得到许多信息,这里简单介绍几个: 1.Supported tags and respective Dockerfile links 支持的标签,以及对应的Dockerfile链接.一个Dockerfile可以对应多个标签,我们将以8.5.16-jre8版本的

  • Docker的镜像制作与整套项目一键打包部署的实现

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr.chen RUN 构建镜像时运行的Shell命令.例如:RUN ["yum","install","httpd"]   或者RUN yum install httpd CMD 运行容器时执行的Shell命令(可以被运行时传递的参数覆盖).例如:CMD

  • Android apk 项目一键打包并上传到蒲公英的实现方法

    项目一键打包并上传到蒲公英 缘由:测试流程由 打包 找包准备上传 填写更新信息 然后上传 过于复杂 所以想要简化开发 阅读须知:需要读者了解如何在项目里面建立一个空的gradle plugin的过程,否则这篇文章不适合你 开始分析 我想要的效果是精简步骤 比如说输入某个 命令 .\gradlew xxxx 就可以完成我想要的效果 那么首先我们必须得熟知或者完成以下几点: 包路径 打包完成的回调 入口设置参数 设置要传的参数 使用gradle来开发 基于以上几点开始开发 最重要的一点 打包完成的回

  • Jenkins一键打包部署SpringBoot应用的方法步骤

    目录 Jenkins简介 Jenkins的安装及配置 Docker环境下的安装 Jenkins的配置 角色权限管理 打包部署SpringBoot应用 在Jenkins中创建执行任务 任何简单操作的背后,都有一套相当复杂的机制.本文将以SpringBoot应用的在Docker环境下的打包部署为例,详细讲解如何使用Jenkins一键打包部署SpringBoot应用. Jenkins简介 Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建.部署.自动化,满足任何项目的需要.我们

  • Jenkins一键打包部署SpringBoot应用

    目录 一.准备工作 二.Jenkins的安装及配置 三.打包部署SpringBoot应用 四.立即构建 一般而言,一个项目部署的由:拉取代码->构建->测试->打包->部署等过程组成,如果我们经常需要部署项目,特别是在微服务时代,服务特别多的情况下,不停的测试打包部署,那估计得有个人一整天专门做这事了,而这事又是繁琐的重复无意义的,所以就需要一套能够持续集成.持续交付.持续部署的自动化构建流程. Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建.部

  • Vue项目webpack打包部署到服务器的实例详解

    Vue项目webpack打包部署到服务器 这篇博文主要说的就是我今天遇到的问题,而且在经过我的询问,好多人在打包部署的时候都遇到了一些问题,下面就来说下,如何将Vue项目放置在服务器上,这里以Tomcat为例. 必须要配置的就是/config/index.js 在vue-cli webpack的模板下的/config/index.js,我们可以看到assetsPublicPath这个键,并且这个东西还出现了两次,我第一次打包的时候,只是修改了最下面的assetsPublicPath,将它从'/'

  • Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案

    遇到的问题 使用webpack打包vue后,将打包好的文件,发布到Tomcat上,访问成功,但是刷新后页面报404错. 在网上查找了一下,原来是HTML5 History 模式引发的问题,具体为什么,vue官方已经给出了解释,你可以看https://router.vuejs.org/zh-cn/essentials/history-mode.html 但是看完问题又来了,官方给出的解决方案中没有说tomcat下,怎么决解. 解决方案 根据官方给出的解决方案原理 你要在服务端增加一个覆盖所有情况的

  • IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署

    之前博客已经谈到配置docker远程链接服务,这里再介绍如何在IDEA中配置docker,将项目部署到服务器上 前文 Docker之开启远程访问的实现 idea2021激活教程 https://www.yuque.com/docs/share/b996d27e-c888-45f2-bb1e-f6db5efe2485?# https://www.jb51.net/article/178193.htm 去插件中心安装Docker插件,安装完重启IDEA.这个简单 配置连接远程docker,打开Doc

  • 使用脚本一键打包并上传docker镜像的实现代码

    笔者搞了一年多微前端项目,一个团队管理十个微应用,换成docker镜像部署后,发布操作一下从原来的脚本直连服务器的1分钟变成了几十分钟,尤其上传每个应用到各自的阿里云仓库.这里就再写个脚本一键打包docker镜像并上传阿里云. 本文只讲怎么制作一个脚本帮助去减轻开发人员负担,关于docker-compose的配置见: 使用各种姿势舒服的部署微前端项目(上:打包与上传) 效果图 直接上代码 /** * @name docker镜像打包上传脚本 * @author weilan * @time 20

  • Docker镜像的制作,上传,拉取和部署操作(利用阿里云)

    由于学习过程中发现push镜像的时候一直超时,所以直接把阿里云的Docker仓库申请一个(管理中心–>创建镜像仓库–>我的是华东2绑定github账户即可),搞定!以后push就用这个仓库,pull的时候使用加速器,注意切换根据使用场景进行切换,dockerhub丢弃--记录了一下操作流程: 1.创建命名空间hhu(以当前学校为单位,只能小写,每个账号只能创建5个),创建菜鸟Docker镜像仓库docker1(绑定github中某个仓库,个人可以随意,这个仓库镜像就像是一个app,可以不断的更

随机推荐