Springboot-Docker-Dockerfile

Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

1、文件格式

# 1、第一行必须指定 基础镜像信息
FROM ubuntu
 
# 2、维护者信息
MAINTAINER docker_user docker_user@email.com
 
# 3、镜像操作指令,没执行一个指令,镜像添加一层
RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list
RUN apt-get update && apt-get install -y nginx
RUN echo "
daemon off;" >> /etc/nginx/nginx.conf
 
# 4、容器启动执行指令
CMD /usr/sbin/nginx

 2、构建镜像

// 将当前目录做为构建上下文
docker build .
// 指定路径
docker build -f  /path/Dockerfile  .
// 镜像标签,通过-t参数指定构建成镜像的仓库、标签
docker build -t nginx/v3 .

 3、简单实例

// 创建Dockerfile文本文件
mkdir mynginx cd mynginx vi Dockerfile
// 编辑Dockerfile文本文件
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html

   // 在 Dockerfile 文件,构建镜像

    docker build -t nginx:v1 .

// 运行镜像创建容器
docker run --name docker_nginx_v1 -d -p 80:80 nginx:v1

// 端口映射
// docker run -p ip:hostPort:containerPort image_name

// 使用-p参数会分配宿主机的端口映射到虚拟机。 
// IP表示主机的IP地址。 
// hostPort表示宿主机的端口。 
// containerPort表示虚拟机的端口。

启动浏览器可以看到信息

修改容器内容

# docker exec -it docker_nginx_v1 bash
root@8fbd0eba7732:/# echo '<h1>Hello , Docker Siwanper</h1>' > /usr/share/nginx/html/index.html
root@8fbd0eba7732:/# exit
exit
原文地址:https://www.cnblogs.com/king-peng/p/10680747.html