初识Dockerfile

Dockerfile就是用来构建docker镜像的构建文件!命令脚本!

通过这个脚本生成镜像,镜像是一层一层的,脚本与一个个的命令,每个命令都是一层!

# 创建一个dockerfile文件,名字可以随机,建议Dockerfile
# 文件中的内容主要有两部分:指令(大写)、参数
# 文件内容
FROM centos VOLUME ["volume01","volume02"] CMD echo "----END----" CMD /bin/bash

# 这里的每个命令,就是镜像的一层!
# build构建Dockerfile文件,生成镜像
# build 构建命令,详细见官网https://docs.docker.com/engine/reference/commandline/build/
  -f  #Dockerfile 的名称(默认为“PATH/Dockerfile”即具体路径/文件名)
  -t  #镜像的名称和标签,格式为 “名称:标签”,其中标签为可选
# . #表示当前目录,这个.暂时就当它是build命令结尾必须有的,后面笔记会讲到具体含义

[root@localhost docker-test-volume]# docker build -f /home/docker-test-volume/dockerfile01 -t gelaotou/centos:1.0 .

# 启动我们自己写的镜像

[root@localhost docker-test-volume]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gelaotou/centos 1.0 573c82788b4f 9 minutes ago 209MB
tomcat_gelaotou 1.0 fabb99d62dfe 5 hours ago 673MB
tomcat 9.0 266d1269bb29 7 days ago 668MB
tomcat latest 266d1269bb29 7 days ago 668MB
nginx latest dd34e67e3371 9 days ago 133MB
mysql 5.7 6c20ffa54f86 9 days ago 448MB
elasticsearch 7.14.0 e347b2b2d6c1 3 weeks ago 1.04GB
portainer/portainer latest 580c0e4e98b0 5 months ago 79.1MB
centos latest 300e315adb2f 8 months ago 209MB
[root@localhost docker-test-volume]# docker run -it 573c82788b4f /bin/bash

# 这个卷和外部一定有一个同步的目录!


#查看容器ID
[root@localhost docker-test-volume]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e26e6d7e5c4b 573c82788b4f "/bin/bash" 8 minutes ago Exited (0) 50 seconds ago hardcore_noether
#查看容器详细信息
[root@localhost docker-test-volume]# docker inspect e26e6d7e5c4b

# 查看一下挂载的路径,确实是匿名挂载

总结

  • 这种方式我们工作中使用的非常多,因为我们通常会构建自己的镜像!
  • 假设构建镜像时,构建镜像脚本Dockerfile中没有VOLUME挂载卷,当我们run 这个脚本构建的镜像的时候,需要手动挂载。-v 卷名:容器内路径

Docker系列(19)- 数据卷之Dockerfile的更多相关文章

  1. Docker系列八: 数据卷

    什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射到本 ...

  2. docker学习5--docker数据卷(volume)

    https://blog.csdn.net/dream_broken/article/details/52314993 1.什么是数据卷volume 为了了解什么是Docker Volume,首先我们 ...

  3. Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。

    Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原. 数据卷就是数据(一个文件或者文件夹). Docker的理念之一是将应用与其运行的环境打包,docker容器的生命周 ...

  4. Docker提交镜像-数据卷-可视化

    在熟悉完Docker的安装及基本命令使用之后,我们开始学习下Docker的进阶操作:包括但不限于新建Docker镜像,数据卷的挂载,以及Docker的可视化等. Docker提交镜像 启动镜像 我们先 ...

  5. 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云

    一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...

  6. docker仓库及数据卷

    docker help rmi, 删除本地镜像 docker run -it --name=centos centos:latest /bin/sh  --name的选项可以方便我们以后引用此imag ...

  7. Docker进阶:容器卷、DockerFile、Docker网络原理

    1.Docker镜像 1.1镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和机遇运行环境开发的软件. 包含一个软件的所有内容.蒋所有的应用和环境,直接打包为docker镜像,直 ...

  8. docker基础_数据卷

    docker数据卷 为什么要使用数据卷 如果数据都在容器中,那么容器一旦删除,数据就会丢失!docker容器需要将产生的数据同步到本地.容器与容器之间也需要有一个数据共享的技术 将某些文件共享.这就是 ...

  9. 使用docker inspect获取数据卷信息时返回地址为空

    使用 docker inspect 命令查看容器挂载的volume的目录 $ sudo docker inspect --format "{{.Volumes}}" redis-m ...

  10. 【Docker】利用数据卷容器来备份、恢复、迁移数据卷

    利用数据卷容器来备份.恢复.迁移数据卷 可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载 ...

随机推荐

  1. bootstrap.yaml和application.yaml的区别

    bootstrap.yaml 配置一些引导系统启动的参数,这些参数一旦指定后就不会变动了.比如程序的端口号,配置中心的地址等. application.yaml 应用级别的参数配置,可能会根据业务需求 ...

  2. 【TS】学习总结

    [TS]学习总结 01-TypeScript编译环境 TypeScript全局安装 npm install typescript -g tsc --version //查看版本,安装成功 TypeSc ...

  3. pip的问题 Can't connect to HTTPS URL because the SSL module is not available

    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail ...

  4. Future有返回值的线程

    //创建一个线程池 ExecutorService pool = Executors.newFixedThreadPool(100); //创建多个有返回值的任务 List<Future> ...

  5. spring cloud 的hystrix 熔断器 和feign 调用的使用

    1, 添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g ...

  6. 【spring 注解驱动开发】spring自动装配

    尚学堂spring 注解驱动开发学习笔记之 - 自动装配 自动装配 1.自动装配-@Autowired&@Qualifier&@Primary 2.自动装配-@Resource& ...

  7. Redis5.0 配置文件中文参考

    Redis 5.0 配置文件#是否在后台执行,yes:后台运行:no:不是后台运行daemonize yes#是否开启保护模式,默认开启.要是配置里没有指定bind和密码.开启该参数后,redis只会 ...

  8. MySQL常用权限操作

    MySQL常用权限操作 ** ubuntu mysql 8.0.21修改root密码 ** 1.查看默认安装密码: sudo cat /etc/mysql/debian.cnf 2. 登录mysql ...

  9. dubbo(一)

    1. Introduction 参考链接:https://www.baeldung.com/dubbo Dubbo is an open-source RPC and microservice fra ...

  10. 一招解决下载或下拉GitHub项目速度太慢的问题

    相信很多朋友都有过这样的体验,就是从Github上下载或clone别人的项目时特别慢,甚至还会出现链接意外终止的情况,那么今天就来给大家分享一个提速的方法,步骤也非常简单,亲测有效! 首先进入你的目标 ...