美文网首页
docker 打包发布

docker 打包发布

作者: 弹猪 | 来源:发表于2018-09-10 11:14 被阅读0次

阿里云镜像

扩展mysqli, redis

FROM registry.cn-hangzhou.aliyuncs.com/eureka/alpine-nginx-php7

RUN  echo "http://dl-cdn.alpinelinux.org/alpine/v3.7/main" > /etc/apk/repositories && \
     echo "http://dl-cdn.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories && \
     apk update /etc/apk/repositories && \
     apk add --no-cache \
        bash \
        curl \
        libxml2 \
        php7-xml \
        php7-openssl \
        php7-bcmath \
        php7-redis \
        php7-mcrypt \
        php7-mysqli \
        unzip

这里遇到一个问题

Error relocating /usr/lib/php7/modules/mysqli.so: zend_vspprintf: symbol not found in Unknown on line 0
Error relocating /usr/lib/php7/modules/redis.so: zend_vspprintf: symbol not found in Unknown on line 0

因为装的是php7.1.7,alpine默认php扩展都是去最新版本(php7.2.9)拉代码,所以会不兼容报错。
所以apk add 前指定一下alpine v3.7仓库,就能完美解决

配置nginx php-fpm

sudo docker run exec -it php5 bash

## nginx目录 /etc/nginx/
## redis目录 /etc/php7/php-fpm.d/www.conf

修改之后sudo docker restart一下就生效了

打成镜像

docker commit \
    --author "Tao Wang <twang2218@gmail.com>" \
    --message "修改了默认网页" \
    webserver \ ## 容器ID或容器名
    aliyunstore:web_base  ## 仓库名:标签

每次有代码发布时的 Dockerfile,生成一个对应版本的镜像

FROM web_base
## 把php源码等挂载到镜像里,用于发布版本部署代码
COPY ./www /alidata/www/hunlijirel/p/wedding

最后得到docker 仓库可能就变成了这样,发布、灰度、伸缩、回退都变得迅速

docker image: api_v1_20180101
docker image: api_v2_20180208
docker image: api_v2_20180315

缓存:多次修改Dockerfile后发现产生的image越来越大,docker会根据Dockerfile路径生成缓存,build前send到新构建的image,所以当一切调试就绪,换个空目录就好了

相关文章

  • Docker应用场景

    应用程序打包和发布 应用程序可以打包成Docker镜像,发布在测试环境或生产环境的Docker容器里。 应用程...

  • docker 打包发布

    阿里云镜像 扩展mysqli, redis 这里遇到一个问题 因为装的是php7.1.7,alpine默认php扩...

  • Docker /git 结合 Jenkins

    docker+Jenkins 结合Jenkins大体思路:将springboot应用打包并发布成docker镜像,...

  • docker的学习

    Docker 打包到容器,发布到linux实现虚拟化 Docker 容器是一个开源的应用容器引擎,让开发者可以打包...

  • jhipster打包docker发布

    jhipster 5.2.0打包命令mvnw.cmd package -Pdev dockerfile:build...

  • Idea开发工具springboot项目自动打包成docker镜

    Idea开发工具springboot项目自动打包成docker镜像发布 1、首先修改docker的配置文件 vi ...

  • docker简介

    docker介绍 docker的应用场景 Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型...

  • docker自动发布方案

    内网jenkins拉取git代码打包构建docker 镜像,发布到内网私有仓库,远程ssh或者rancher发布外网容器

  • docker打包镜像并发布

    使用docker commit命令打包容器为镜像 docker login 123456789@qq.com登录d...

  • docker学习系列7 容器化Node项目

    本节我们自己打包一个docker镜像并发布到官方的镜像仓库中。这样任何人只需执行以下命令:docker run -...

网友评论

      本文标题:docker 打包发布

      本文链接:https://www.haomeiwen.com/subject/dzojgftx.html