Docker系列第06部分:备份与迁移+dockerfile

1 备份与迁移

1.1 容器保存为镜像

docker commit pinyougou_nginx mynginx# pinyougou_nginx是容器名称
# mynginx是新的镜像名称
# 此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

1.2 镜像备份

docker  save -o mynginx.tar mynginx
# -o 输出到的文件
# 执行后,运行ls命令即可看到打成的tar包.

1.3 镜像恢复与迁移

首先先删除掉mynginx镜像,然后执行命令进行恢复

docker load -i mynginx.tar
# -i 输入的文件

执行后再次查看镜像,可以看到镜像已经恢复

再创建容器。

2 dockerfile

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随者各种方法,命令和参数,其产出为一个新的可以用于创建容器的镜像.

如何写Dockerfile,Dockerfile 参考文档 | Deepzz's Blog如何写Dockerfile,Dockerfile参考文档,唯爱与美食不可辜负也 :-Dhttps://deepzz.com/post/dockerfile-reference.html

7.1 dockerfile的demo

  • 在root下创建demo目录

mkdir demo
cd demo
  • 在demo 目录下创建 a文件

vim a
  • 在某~/demo下创建Dockerfile文件

vim Dockerfile

 内容为:

# my dockerfile ljh
FROM centos
MAINTAINER ljh
WORKDIR /root/workdir
RUN touch te
ADD a b
ENV key1 "hello"# 语法解释:
#  :代表注释
# FROM centos  : 代表依据基本的镜像来创建
# MAINTAINER ljh :代表就是作者是谁
# WORKDIR /root/workdir :代表就是创建容器时进入工作的目录是容器中的/root/workdir目录
# RUN touch te  :代表就是RUN 运行命令  运行一个创建空文件te# COPY ["HI","."] :代表从宿主系统中复制HI 文件到容器系统中工作目录中的当前路径下
# ADD a b :代表从宿主机所在Dockerfile文件的目录下Copy 文件A 到容器中的b文件 b文件的目录为工作目录下。# ENV key1 "hello" :定义linux中的环境变量。如下:  
# 定义一个:key value 
# 定义多个:key=value key2=value2
  • 创建自定义镜像

docker biuld -t mycentos .
# docker build : 表示通过Dockerfile文件来创建镜像
# -t mycentos 表示 给与镜像的名称和版本  为:mycentos:lasted (lasted可以不写)
# . 表示从当前目录下进行加载Dockerfile文件

  • 查看是否打包镜像成功

  • 测试创建容器:

docker run -di --name=mycentosheh mycustomcentos
  • 连接容器

[root@localhost demo]# docker exec -it mycentosheh /bin/bash

 注意: 进入目录即为:/root/workdir

 在目录下有 b文件和 te文件

 输入:echo $key1 查看环境变量的值结果

3 springboot微服务部署

在微服的世界中,使用springboot来开发的微服务架构,使用dockerfile 来部署应用。

  • 在本地开发完成微服系统 打包,将其copy到linux系统中

  • 创建dockefile文件上图:

#my dockerfile ljh
FROM java:8
MAINTAINER ljh
ADD demo-0.0.1-SNAPSHOT.jar app.jar
# ENTRYPOINT ["java","-jar","/app.jar"]  表示 执行命令: 整个命令都只能有一个ENTRYPOINT
ENTRYPOINT ["java","-jar","/app.jar"]
EXPOSE 8080
java -jar app.jar

 EXPOSE 8080 发布端口为:8080

  • 构建镜像

docker build -t demoappimage .
  • 创建容器

docker run -di --name=myapp1 -p 8080:8080 
  • 效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流浪地球开机动画包zip_影视日报|合家欢动画电影quot;许愿神龙quot;定档1.15;流浪地球加长版定档11.26...

1、合家欢动画电影"许愿神龙"定档1.15动画电影《许愿神龙》正式定档2021年1月15日,并发布定档海报。2、白客等万万兄弟助力易小星"沐浴之王"由易小星执导,彭昱畅、乔杉领衔主演,卜冠今、苇青主演,金世佳友情出…

Git 分布式版本控制工具01:Git介绍+下载+安装

1. 前言 1.1 什么是Git Git 是一个分布式版本控制工具,通过Git 仓库来存储和管理源代码文件文件。 在IDEA开发工具中可以集成Git: 集成后在IDEA中可以看到Git相关图标: 可以通过启动两个IDEA窗口模拟两个开发人员来展示Git的使用&#xf…

无法解析的外部符号,无法解析的外部命令

1.这个是因为有相关的lib包没有被引用进去 解决办法: 1. 2. 转载于:https://www.cnblogs.com/hcfan/p/6638980.html

Android Adb 源码分析

扭起屁股得意洋洋 最近,我负责的项目因为临近量产,把之前的userdebug版本关闭,转成了user版本,增加selinux的权限,大家都洋溢在项目准备量产的兴奋和喜悦之中不能自拔 谁知,好景不长,user版本…

kvm虚拟化_KVM 虚拟化环境搭建 - WebVirtMgr

前文《KVM 虚拟化环境搭建 - ProxmoxVE》已经给大家介绍了开箱即用的 PVE 系统,PVE 是方便,但还是有几点问题:第一:始终是商用软件,虽然可以免费用,但未来版本还免费么?商用的法律风险呢&#x…

Git 分布式版本控制工具02:Git代码托管服务列表与使用

1常用的Git代码托管服务 Git中存在两种类型的仓库,即本地仓库和远程仓库。 Git远程仓库中比较常用的有GitHub、码云、GitLab等。 名称网址说明gitHubGitHub: Where the world builds software GitHub一个面向开源及私有软件项目的托管平台,因为只支持…

基于Springboot外卖系统19:用户地址+默认收货地址

1. 用户地址簿功能 1.1 需求分析 地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息。 同一个用户可以有多个地址信息,但是只能有一个默认地址。 对于地址簿管理,我们需要实现以下几个功能&#…

基于Springboot外卖系统20:前端菜品展示+菜品数量查询

1 菜品展示 1.1 需求分析 用户登录成功后跳转到系统首页,在首页需要根据分类来展示菜品和套餐。如果菜品设置了口味信息,需要展示 按钮,否则显示按钮。 1.2 前端页面分析 在开发代码之前,需要梳理一下前端页面和服务端的交互过…

flash动画设计期末作业_「2019年下学期」第二十五二十六节:期末作品三-吉祥物设计...

初心伟大的艺术品不必追随潮流,他本身就能引领潮流。课前准备软件安装【2019(上)】《三维建模与动画设计》【2019年下学期】第一节:选修介绍及选修人数确定【2019年下学期】第二节:2D&3D设计之百事可乐图标设计【2019年下学期】第三四节&…

YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

来源:https://arxiv.org/abs/2207.02696 代码:https://github.com/WongKinYiu/yolov7 0. Abstract YOLOv7 surpasses all known object detectors in both speed and accuracy in the range from 5 FPS to 160 FPS and has the highest accuracy 56.8…

如何把一个网页生成一个快捷方式在桌面?_如何打造一个简洁、高效的桌面?

都2020年了,你的桌面仍是这样的? 或是这样的? 但当然你也见过这样的: 你当然会好奇,没有各种快捷方式、任何文件或文件夹的工作桌面,使用起来岂不效率低下?然则非也。我认为高效的工作得从舒服的…

Android ADB 源码分析(三)

前言 之前分析的两篇文章 Android Adb 源码分析(一) 嵌入式Linux:Android root破解原理(二) 写完之后,都没有写到相关的实现代码,这篇文章写下ADB的通信流程的一些细节 看这篇文章之前,请先阅读 Linux…

A Generative Adversarial Network-based Deep Learning Method for Low-quality Defect ImageReconstructi

A Generative Adversarial Network-based Deep Learning Method for Low-quality Defect ImageReconstruction and Recognition 中文名:基于生成对抗网络的深度低质量缺陷图像的学习方法重建与认可 主体思路概述:将模糊的图像使用Gan进行生成与重建&…

bootstrap3 表单构建器_FastReport.NET报表设计器连接到OracleDB关系数据库

首先,您可以使用ODBC连接器。但是它充满了很多设置。FastReport.NET报表设计器连接到OracleDB关系数据库如您所见,您需要创建数据源及其连接字符串。动作比较多。此方法的替代方法是使用FastReport中的连接器。实际上,有两个连接器可供选择。…

码农,选好你的老板

[01 两个小故事] 小明2009年毕业 那一年刚好是金融危机之后,全球经济还不是很好,找到一份好的工作非常困难。 好在,小明误打误撞面试上华为一份码农的工作。 刚开始那几年,小明很拼命,不断的在解bug和制造bug中自由…

Automated defect inspection system for metal surfaces based on deep learning and data augmentation

Automated defect inspection system for metal surfaces based on deep learning and data augmentation 基于深度学习和数据增强的金属表面缺陷自动检测系统 简述:卷积变分自动编码器(CVAE)生成特定的图像,再使用基于深度CNN的缺陷分类算法进行分类。在…

python第七章_python 第七章 模块

模块 一个py文件就是一个模块 模块一共三种:1.python标准库 2.第三方模块 3.应用程序自定义模块 import:1.执行对应文件 2.引入变量名 if__name__"__main__": #1.用于被调用文件测试 2.防止主程序被调用 time模块 常用命令 时间模块 1 importt…

openwrt 音频开发

1、Linux 音频架构图 音视频的好坏 直接影响 产品体验 2、音频架构图层次说明 openWRT 采用 ALSA 层次图,如下 Application: 上层应用 主要调用alsa-lib 中的接口 实现业务逻辑。使用alsa-util中aplay,arecord,amixer,speaker-test进行相关测试。HAL层 : 移植alsa-lib 和 a…

Automatic Detection of Welding Defects Using Faster R-CNN

Automatic Detection of Welding Defects Using Faster R-CNN 基于快速R-CNN的焊接缺陷自动检测 简介:使用Inception-ResNet模型进行缺陷检测 数据集:射线图像 Abstract Experts are required to properly detect the test results and it takes a lot…