欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker Dockerfile的使用实例

程序员文章站 2023-11-19 13:49:22
dockerfile from 基础镜像 maintainer 维护这信息 run 运行什么命令,在命令前面加上run add 往里面加点文件,copy文件,会...

dockerfile

from 基础镜像

maintainer 维护这信息

run 运行什么命令,在命令前面加上run

add 往里面加点文件,copy文件,会自动解压

workdir 当前的工作目录

volume 目录挂载

expose 开放的端口

run 进程要一直运行

实战:构建nginx

wget 

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

#this is my first dockerfile#version 1.0
#author: hh 
#base image 基础镜像
from centos
#maintainer 维护者信息
maintainer hh wang 
#add
add pcre-8.38.tar.gz /usr/local/srcadd nginx-1.9.3.tar.gz /usr/local/src 
#run
run yum -y install wget gcc gcc-c++ make openssl openssl-devel
run useradd -s /sbin/nologin -m www 
#workdir
workdir /usr/local/src/nginx-1.9.3 
run ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module \
--with-pcre=/usr/local/src/pcre-8.38 && make && make install 
run echo "daemon off;">>/usr/local/nginx/conf/nginx.conf 
#env定义环境变量
env path /usr/local/nginx/sbin:$path 
#expose 映射端口
expose 80 cmd ["nginx"]

docker build -t whh/nginx-file:v1 .

docker run -d -it -p 93:80 --name nginx whh/nginx-file:v1

下面再看下dockerfile 的使用

通过docker build命令可以建立镜像。

通常需要文本文件dockerfile,例子如下:

from hub.c.163.com/library/nginx ----基于的镜像

run echo "hello world" >/etc/nginx/index.xml ----追加到index.html 末尾

expose 80 ---暴露80端口

cmd 'nginx' ----启动nginx服务

保存后,运行 docker build -t mynginx:1.0 .

然后运行 docker images ,查看到所构建的镜像。

通过 docker run -d -p 8082:80 --name nginx_web mynginx:1.0

最后通过 http://ip:8081 访问到nginx的index.html的内容