侧边栏壁纸
博主头像
码森林博主等级

一起走进码森林,享受编程的乐趣,发现科技的魅力,创造智能的未来!

  • 累计撰写 145 篇文章
  • 累计创建 73 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Docker(4):Dockerfile 构建镜像

码森林
2022-02-24 / 0 评论 / 0 点赞 / 583 阅读 / 1,791 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-02-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本文主要介绍 Dockerfile 及其使用。

Dockerfile

1、什么是 Dockerfile?

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

Docker 通过读取 Dockerfile 中的指令按步自动生成镜像。

2、使用 Dockerfile 构建镜像

构建镜像命令格式:

docker build -t 机构/镜像名<:tags> Dockerfile目录

下面以 tomcat 为例,自定义构建一个镜像:

1、创建一个文件夹,名为 my-dockerfile

2、找了个之前做的静态网站,放到 my-dockerfile/docker-web 目录下

3、在 my-dockerfile 目录下创建 Dockerfile 文件,内容如下:

# 设置基准镜像
FROM tomcat:jdk8-corretto
# 设置机构标识
MAINTAINER zwqh.top
# cd /usr/local/tomcat/webapps
# 切换工作目录,不存在则创建
WORKDIR /usr/local/tomcat/webapps
# 复制目录下的所有文件到容器目录
ADD docker-web ./docker-web

4、在 linux usr 目录下创建 image 目录作为镜像目录,把 my-dockerfile 文件夹上传至该目录

5、构建镜像

#运行命令
docker build -t zwqh.top/mywebapp:1.0 /usr/image/my-dockerfile

#运行结果
Sending build context to Docker daemon  28.97MB
Step 1/4 : FROM tomcat:jdk8-corretto
 ---> 79b38376f3de
Step 2/4 : MAINTAINER zwqh.top
 ---> Running in 13c52044c758
Removing intermediate container 13c52044c758
 ---> 817712d51c7e
Step 3/4 : WORKDIR /usr/local/tomcat/webapps
 ---> Running in 6575a667ae48
Removing intermediate container 6575a667ae48
 ---> 65d94934c688
Step 4/4 : ADD docker-web ./docker-web
 ---> 80946ac76b0d
Successfully built 80946ac76b0d
Successfully tagged zwqh.top/mywebapp:1.0

#此时镜像构建成功~

至此一个简单的镜像构建过程就结束了~

6、查看镜像

#运行命令
docker images

#运行结果
REPOSITORY          TAG             IMAGE ID       CREATED         SIZE
zwqh.top/mywebapp   1.0             80946ac76b0d   7 minutes ago   405MB
tomcat              jdk8-corretto   79b38376f3de   10 days ago     376MB

#同时在镜像列表里已经看到我们构建的镜像

7、创建应用并启动

docker run -d -p 9900:8080 zwqh.top/mywebapp:1.0

此时即可直接浏览 http://8.136.139.149:9900/docker-web/index.html

注:如果端口无法访问,记得配置服务器安全组

8、查看容器内部

#查看容器
docker ps

#结果
CONTAINER ID   IMAGE                   COMMAND             CREATED         STATUS         PORTS                                       NAMES
28db0ba7f33e   zwqh.top/mywebapp:1.0   "catalina.sh run"   7 minutes ago   Up 7 minutes   0.0.0.0:9900->8080/tcp, :::9900->8080/tcp   clever_meitner

#进入容器内部
docker exec -it 28db0ba7f33e /bin/bash

#查看目录
ls
#结果
docker-web

#进入目录
cd docker-web 
ls
#结果
case  css  images  index.html  js  layui

# 可以看到我们的docker-web目录都被拷贝过来了

总结

本文主要通过 tomcat 为示例自定义构建一个镜像,方便快速部署。

0

评论区