前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >构建 docker 镜像

构建 docker 镜像

原创
作者头像
chen1900s
修改2020-06-01 10:08:41
9360
修改2020-06-01 10:08:41
举报
文章被收录于专栏:TKE学习TKE学习

Docker 生成镜像目前有两种方式:

  • 通过 Dockerfile 自动构建镜像;
  • 通过容器操作,并执行 Commit 打包生成镜像。

执行 Commit 实现打包生成镜像

通过 Dockerfile 可以快速构建镜像,而通过 commit 生成镜像可以解决应用在部署过程中有大量交互内容以及难以通过 Dockerfile 构建的问题。

通过 commit 构建镜像操作如下:

1,安装docker软件(yum install docker或apt-get install docker)

查看docker是否安装及状态
查看docker是否安装及状态

2,下载docker centos镜像(docker pull)

3,创建并进入容器(docker run)

4,nginx docker基础镜像制作

[root@db70b62cb071 /]# yum -y onstall epel-release

[root@db70b62cb071 /]# yum install nginx net-tools -y

[root@db70b62cb071 /]# vi /etc/nginx/nginx.conf //修改nginx配置文件

[root@db70b62cb071 /]# vi /etc/nginx/conf.d/localhost.conf

[root@db70b62cb071 /]# mkdir /data/logs/nginx -p //创建日志目录

5,将容器提交docker基础镜像(docker commit)

[root@VM_0_11_centos ~]# docker ps | grep db70b62cb071

db70b62cb071 centos:7.5.1804 "/bin/bash" 24 minutes a_keldysh

[root@VM_0_11_centos ~]# docker commit db70b62cb071 nginx:v2

sha256:302f3cc905eb30fc6d38019f291349cf29089e81e6bb033aeac700b2235dc7e6

[root@VM_0_11_centos ~]# docker images | grep v2

nginx v2 302f3cc905eb About a minute ago 386MB

6,打标签推送至镜像仓库

[root@VM_0_11_centos ~]# docker tag 302f3cc905eb ccr.ccs.tencentyun.com/ns-demo/nginx:v2

[root@VM_0_11_centos ~]# docker images | grep v2

ccr.ccs.tencentyun.com/ns-demo/nginx v2 302f3cc905eb 4 minutes ago 386MB

nginx v2 302f3cc905eb 4 minutes ago 386MB

ccr.ccs.tencentyun.com/library/tiller v2.10.0 0cccc6576d01 21 months ago 69MB

[root@VM_0_11_centos ~]# docker push ccr.ccs.tencentyun.com/ns-demo/nginx:v2

7,php docker基础镜像制作

首先通过centos基础镜像启动一个容器

在容器内进行php安装和配置

[root@88695031626e /]# yum -y install epel-release

[root@88695031626e /]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

[root@88695031626e /]# yum install php70w php70w-fpm php70w-cli php70w-common php70w-devel php70w-gd php70w-pdo php70w-mysql php70w-mbstring php70w-bcmath php70w-xml php70w-pecl-redis php70w-process php70w-intl php70w-xmlrpc php70w-soap php70w-ldap php70w-opcache -y

修改配置

# vi /etc/php-fpm.conf

error_log = /data/logs/php/error.log //替换路径

daemonize = no //设置php-fpm已守护进行方式运行

# vi /etc/php-fpm.d/www.conf //日志路径可跟进自身需求设置

user = root //将user = apache修改成user = root

group = root //将group = apache修改成group = root

listen = /dev/shm/php-fpm.sock //将listen = 127.0.0.1:9000 修改成 listen = /dev/shm/php-fpm.sock

listen.owner = root //将listen.owner = user修改成listen.owner = root

listen.group = user //将listen.group = user修改成listen.group = root

slowlog = /data/logs/php/www-slow.log //设置slow日志路径为/data/logs/php

php_admin_value[error_log] = /data/logs/php/www-error.log //设置error日志路径为/data/logs/php

查看容器,将容器commit

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker 生成镜像目前有两种方式:
    • 执行 Commit 实现打包生成镜像
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档