【Docker】镜像制作及使用Dockerfile制作镜像
Docker镜像制作
- 1.镜像构成
- 2.使用容器制作镜像
- Dockerfile是一个用于描述生产docker镜像的文件,它里面是一条条的指令,每条指令都会对镜像产生一定影响。
- 1.将springboot-hello-0.0.1-SNAPSHOT.jar上传到linux
- 2.创建一个springboot-dockerfile文件,内容如下
- 3.通过dockerfile构建镜像
- 4.查看生成的镜像,并运行为容器
- 访问测试
1.镜像构成
Docker镜像是一个分层文件系统,最底端是bootfs,它会直接使用宿主机的bootfs;第二层是root文件系统rootfs,称为base image
然后再往上可以叠加其他的镜像文件,一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像,最底部的镜像成为基础镜像。
2.使用容器制作镜像
docker允许将一个容器直接转化为镜像,使用的命令如下:
docker commit 容器id 镜像名称:版本号
实现:修改当前的nginx容器中的index.html文件内容为hehe,然后将修改后的容器做成一个名为mynginx:hehe的镜像
#1. 查看当前正在运行的容器
[root@itcast ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ce0bf14399d nginx "/docker-entrypoint.…" 14 hours ago Up 14 hours 0.0.0.0:80->80/tcp nginx#2. 进入nginx容器,然后向主页面覆盖写入"hehe",然后退出容器
[root@itcast ~]# docker exec -it nginx /bin/bash
root@0ce0bf14399d:/# echo "hehe" > /usr/share/nginx/html/index.html
root@0ce0bf14399d:/# exit#3. 将修改之后的容器生成为mynginx:hehe镜像
[root@itcast ~]# docker commit nginx mynginx:hehe
sha256:139a9ea6a6008bc5557566e54316ccd8b93f508dba1daf7296235a461c8d471e#4. 查看镜像
[root@itcast ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mynginx hehe 139a9ea6a600 8 seconds ago 133MB
Dockerfile是一个用于描述生产docker镜像的文件,它里面是一条条的指令,每条指令都会对镜像产生一定影响。
基于jdk1.8环境运行springboot项目,打包为镜像
1.将springboot-hello-0.0.1-SNAPSHOT.jar上传到linux
2.创建一个springboot-dockerfile文件,内容如下
# 定义基础镜像(从哪个镜像的基础上开始做)
FROM java:8
# 定义作者信息(可以省略)
MAINTAINER itheima <itheima@itcast.cn>
# 将jar包添加到容器,并改名为app.jar
ADD springboot-hello-0.0.1-SNAPSHOT.jar app.jar
# 镜像启动容器的时候,执行的命令
CMD java -jar app.jar
3.通过dockerfile构建镜像
# -f :指定要使用的Dockerfile路径 -t :指定生成的镜像名称 . 镜像构建过程中的上下文环境的目录
docker build -f ./springboot-dockerfile -t app-itheima .
4.查看生成的镜像,并运行为容器
[root@itcast ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
app-itheima latest 663f3e3e33fb 35 minutes ago 661MB[root@itcast ~]# docker run -d -p 18080:8080 app-itheima:latest
5ea166a3dbec4c091d7a70f84b75703f55a9ccd93f3a45466e4eeb9ac56fdb17[root@itcast ~]#
[root@itcast ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED PORTS NAMES
5ea166a3dbec app-itheima:latest "/bin/sh -c 'java -j…" 7 seconds ago 0.0.0.0:18080->8080/tcp serene_antonelli
访问测试
【Docker】镜像制作及使用Dockerfile制作镜像相关推荐
- ad如何镜像器件_使用 Dockerfile 制作镜像
前面几篇文章已经给大家介绍了 Docker 的基本概念,相信大家也会使用 Docker 运行自己想要的容器了.但是只有学会制作镜像,才能将 Docker 应用到我们的项目中去.下面我们就来学习如何使用 ...
- Docker学习之六:基于Dockerfile构建镜像
镜像制作 一般镜像的制作,通常需要修改镜像的配置文件,比如nginx的配置文件,可以通过以下的方式: 将配置文件做成存储卷,从宿主机编辑好之后,启动容器时应用程序加载配置文件的路径并和宿主机的目录建立 ...
- Docker学习,从hello-word到Dockerfile创建镜像
一.Docker的最小镜像hello-world 1.docker pull 下载hello-world镜像 docker pull hello-world 2.docker images ...
- Docker发布/上传镜像到dockerhub下载/拉取镜像删除dockerhub镜像
文章目录 一.注册dockerhub 二.安装docker 三.编写一个dockerfile打成镜像或者直接pull一个镜像 1.编写dockerfile 2.直接pull一个镜像 四.修改镜像标签 ...
- Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
文章目录 Pre Docker 官方镜像 Dockerfile dockerfile制作tomcat镜像 准备软件 编写Dockerfile文件 dockerfile构建镜像 启动镜像 测试访问tom ...
- Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...
- Docker搭建个人网盘和私人仓库,创建Dockerfile制作镜像
1.使用mysql:5.6和 owncloud 镜像,构建一个个人网盘. 2.安装搭建私有仓库 Harbor 3.编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1 ...
- 【Docker】docker镜像的获取、制作方法、Dockerfile
目录 docker镜像 docker镜像的获取: docker镜像的制作方法: 基于容器制作镜像: 基于docker file制作: dockerfile instructions: FROM: MA ...
- docker -- dockerfile制作镜像
基于容器手动制作镜像步骤具体如下: 下载一个系统的官方基础镜像,如: CentOS 或 Ubuntu 基于基础镜像启动一个容器,并进入到容器 在容器里面做配置操作 安装基础命令 配置运行环境 安装服务 ...
最新文章
- 未来之城,管理者可能不是人......
- python散点图点的大小-Python散点图。 标记的大小和样式
- 《代码整洁之道》阅读笔记
- UDP socket编程中使用connect
- mysql登录错误1045修改工具_mysql登录1045错误时 修改登录密码
- 土地利用覆被变化的概念_欠压实概念极其荒谬
- HTML 列表中的dl,dt,dd,ul,li,ol区别及应用
- 自动化运维环境搭建过程
- python保存数据db_python存储数据到mongodb
- python立体匹配误匹配率_立体匹配算法(Stereo Matching)及其在OpenCV中的应用
- 从“三只小猪”的故事到“高性能”测试自动化
- Redis--缓存设计与性能优化
- Python将数字排列组合
- 因为相信所以看见,既然看见注定坚信《7》
- 西北农林科技大学计算机考研好考吗,西北农林科技大学考研好考吗?
- Framer多车型切换实现的网络功能
- NKOJ3685 8数
- idea意外退出无法调试,报错:idea unable to open debug port
- ITOP4412 OV5640摄像头模块
- EXSI封装网卡驱动