Below you will find pages that utilize the taxonomy term “Dockerfile”
December 31, 2019
使用Dockerfile 多阶段构建Golang 应用
"\u003cp\u003edocker在开发和运维中使用的场景越来越多,作为开发人员非常有必要了解一些docker的基本知识,而离我们工作中最近的也就是对应用的docker部署编排了,小到一个dockerfile, docker-compse文件的编写,大到k8s的管理。这里我们以 golang应用为例讲解一些Dockerfile的基本用法,在ci/cd中经常用到这些知识。\u003c/p\u003e\n\u003ch1 id=\"前提\"\u003e前提\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003e项目清单:\u003c/strong\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003edrwxr-xr-x 9 sxf staff 288 12 31 16:13 .\ndrwx------@ 17 sxf staff 544 12 31 14:59 ..\n-rw-r--r-- 1 sxf staff 14 12 31 16:09 .dockerignore\ndrwxr-xr-x 14 sxf staff 448 12 31 16:21 .git\n-rw-r--r-- 1 sxf staff 467 12 31 16:08 Dockerfile\n-rw-r--r-- 1 sxf staff 11 12 31 15:01 README.md …\u003c/code\u003e\u003c/pre\u003e"
January 15, 2019
docker build . 命令后面的.是什么意思
"\u003cp\u003e今天来公司自己构建了一个Dockerfile,放在一个经常用到的项目目录里,内容如下:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# This is a comment\nFROM ubuntu:14.04\nMAINTAINER Docker Newbee \u0026lt;[email protected]\u0026gt;\nRUN apt-get -qq update\nRUN apt-get -qqy install ruby ruby-dev\nRUN gem install sinatra\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e然后执行\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003esudo docker build -t \u0026#34;cfanbo/test:v2\u0026#34; .\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e发现在构建的时候发送给 docker daemon 竟然有4G多,超极大。首先的第一反映出问题了。一个ubuntu镜像也没有这么大呀,况且现在还没有开始从远程pull 镜像呢。\u003c/p\u003e\n\u003cp\u003e那到底什么情况了呢?经过一翻搜索,发现在docker build . 的时候,会将当前目录里的内容发送给 docker daemon。只需要加一个 .dockerignore 文件,将其它内容排除掉就可以了,类似于git中的.gitignore文件的作用。\u003c/p\u003e\n\u003cp\u003e后面就想通 …\u003c/p\u003e"
July 10, 2018
使用Dockerfile构建Swoole+php7环境
"\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eFROM php:7.2.7-cli\nRUN apt-get update \n \u0026amp;\u0026amp; apt-get install -y libmemcached-dev zlib1g-dev\nRUN pecl install redis-4.0.1 \n \u0026amp;\u0026amp; pecl install swoole-4.0.1 \n \u0026amp;\u0026amp; pecl install memcached-3.0.4 \n \u0026amp;\u0026amp; pecl install xdebug-2.6.0 \n \u0026amp;\u0026amp; docker-php-ext- enable redis swoole memcached xdebug\nCOPY . /usr/src/myapp\nWORKDIR /usr/src/myapp\nCMD [ \u0026#34;php\u0026#34;, \u0026#34;-m\u0026#34; ]\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e构建完环境后,使用方法见: \u003ca href=\"https://blog.haohtml.com/archives/17925\"\u003ehttps://blog.haohtml.com/archives/17925 …\u003c/a\u003e\u003c/p\u003e"
February 2, 2016
利用 Dockerfile 来创建镜像
"\u003cp\u003e使用 \u003ccode\u003edocker commit\u003c/code\u003e 来扩展一个镜像比较简单,但是不方便在一个团队中分享。我们可以使用 \u003ccode\u003edocker build\u003c/code\u003e 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令。\u003c/p\u003e\n\u003cp\u003e新建一个目录和一个 Dockerfile\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e $ mkdir sinatra\n $ cd sinatra\n $ touch Dockerfile\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eDockerfile 中每一条指令都创建镜像的一层,例如:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e # This is a comment\n FROM ubuntu:14.04\n MAINTAINER Docker Newbee\n RUN apt-get -qq update\n RUN apt-get -qqy install ruby ruby-dev\n RUN gem install sinatra\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eDockerfile 基本的语法是\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e使用\u003ccode\u003e#\u003c/code\u003e来注释\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFROM\u003c/code\u003e 指令告诉 Docker 使用哪个镜像作为基础\u003c/li\u003e\n\u003cli\u003e接着是维护者 \u003ccode\u003eMAINTAINER\u003c/code\u003e 的信息\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRUN\u003c/code\u003e开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get …\u003c/li\u003e\u003c/ul\u003e"