小白也能玩转Docker:应用部署、迁移与备份

目录

1、应用部署

1.1、Mysql

1.2、Ngixn

1.3、Redis

1.4、RabbitMQ

1.5、Elasticsearch

1.6、Zookeeper

2、迁移与备份

2.1容器保存为镜像

2.2镜像备份

2.3镜像恢复与迁移


1、应用部署

1.1、Mysql

拉取mysql的镜像:

docker pull mysql:5.7

为mysql镜像创建一个容器(守护进程方式创建):

docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD mysql:5.7
b84fbf3413b82e47cb0ba1077d968e9901cbc1af9f16bc6258a219a206b7be28

进入mysql容器中

docker exec -it  mysql  /bin/bash

在容器中登录本地的mysql数据库:

mysql  -uroot -proot --default-character-set=utf8

在mysql容器中就可以尝试查看本地的数据库了

mysql> show datebase;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datebase' at line 1
#由于我还没有在电脑上安装mysql软件,所以会出错,如果安装了软件就会正常显示本地的所有数据库

1.2、Nginx

拉取nginx镜像:

docker pull nginx

然后为该镜像创建容器(守护方式进行):

docker run -di --name=nginx -p 80:80 nginx
f7953fa240230b45200e2d8ec745603a88b702326891c811ba4e046159951279

尝试在浏览器访问:

使用拷贝的方式将容器中的nginx文件复制到宿主机目录中:

docker cp nginx:/etc/nginx /usr/local/mydata/nginx
#复制nginx容器下的nginx文件到宿主机某个文件下面
Successfully copied 16.9kB to /usr/local/mydata/nginx

在宿主机的对应目录中将nginx目录重命名为conf,即配置文件:

mv nginx conf

创建另外一个bginx目录并且设置挂载目录:

docker run -id --name=nginx2 -p 80:80 -v /usr/local/mydata/conf/:/etc/nginx nginx
#创爱了一个nginx2容器 并且 -v 表示映射关系,:前为宿主机目录 :后为容器目录(作用是在宿主机上做修改,会共享到容器)
6e476663c6cd32e3c960537cbb08e6c0bf080b8c1eb3841b84851f8b981ed68c

1.3、Redis

拉取Redis镜像:

docker pull redis

创建redis容器:

docker run -id --name=redis   -p 6379:6379  redis
2a928412d5ca55c9f8ae0ead8bb87fa1e1c14bd462ea2bbdf5dea9aad4be30ed

1.4、RabbitMQ

拉取rabbitmq镜像:

docker pull rabbitmq:3.7.12

根据镜像创建容器:

docker run -id --name=rabbitmq -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:3.7.12
3529015ab8913520462e4c90b7e898cd66f8d9286ed28b08be889b68f12f527d

进入rabbitmq容器:

docker exec -it rabbitmq /bin/bash

安装rabbitmq插件:

root@3529015ab891:/# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@3529015ab891:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@3529015ab891...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
started 3 plugins.
尝试在浏览器中访问:

1.5、Elasticsearch

拉取Elasticsearch镜像:

docker pull elasticsearch:7.5.0

修改虚拟内存大小:

sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144

创建容器:

docker run -id --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "cluster.name=elasticsearch" -v /usr/local/mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins elasticsearch:7.5.0 
cedc54bf1fe694523519c5bbf325223734c37765bae2a6aeb5cb31f79e9db7c9

进入容器中:

docker exec  -it elasticsearch /bin/bash

安装ik中文分词器:

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/r7.5.0/elasticsearch-analysis-ik-7.5.0.zip

尝试在浏览器中访问:

192.168.159.161:9200

1.6、Zookeeper

拉取Zookeeper镜像:

docker pull zookeeper:3.4.13

创建容器:

docker run -id --name=zookeeper -p 2181:2181 zookeeper:3.4.13
22b12df3645066d545855308b6d77e9bda34b4c290304f18645faac9ba7635e5

2、迁移与备份

2.1容器保存为镜像

我们可以通过以下命令将容器保存为镜像

docker run -id --name=zookeeper -p 2181:2181 zookeeper:3.4.13
22b12df3645066d545855308b6d77e9bda34b4c290304f18645faac9ba7635e5

2.2镜像备份

我们可以通过以下命令将镜像保存为.tar文件

docker save -o myredis.tar myredis

2.3镜像恢复与迁移

首先我们先删除myredis镜像,然后再来执行此命令恢复

删除:
docker stop  redis 
docker rmi redis
Untagged: redis:latest
Untagged: redis@sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339
恢复:
docker load -i myredis.tar 
Loaded image: myredis:latest

-i:输入文件

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

孤立森林详解

基本概念 孤立森林(Isolation Forest)是一种基于异常检测的机器学习算法,用于识别数据集中的异常点。孤立森林算法在异常检测、网络入侵检测、金融欺诈检测等领域有广泛应用,并且在处理大规模数据和高维数据时表现出色。孤立森林…

linux centos Python + Selenium+Chrome自动化测试环境搭建?

在 CentOS 系统上搭建 Python Selenium Chrome 自动化测试环境,需要执行以下步骤: 1、安装 Python CentOS 7 自带的 Python 版本较老,建议使用 EPEL 库或源码安装 Python 3。例如,使用 EPEL 库安装 Python 3: sud…

excel爬虫相关学习2:excel 和 vba 爬虫相关xmlhttp方法

目录 前言:vba 爬虫相关xmlhttp的方法 1 什么是xmlhttp 1.1 定义 1.2 特点 定义XMLHTTP对象: XMLHTTP方法: open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword) send(varBody) setRequestHeader(bstrHeader, bstrValue) …

SpringBoot全局异常页面处理学习

首先我们先在控制器中写一个异常,默认情况下我们的SpringBoot异常页面是这个样子的。 示例代码如下: import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;/*** author qinxun* date 202…

拉新、转化、留存,一个做不好,就可能会噶?

用户周期 对于我们各个平台来说(CSDN也是),我们用户都会有一个生命周期:引入期–成长期–成熟期–休眠期–流失期。 而一般获客就在引入期,在这个时候我们会通过推广的手段进行拉新;升值期则发生在成长期…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver &…

最新大学计算机专业实习心得报告

最新大学计算机专业实习心得报告(篇1) 一、实习目的 通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。通过这次实习&#xff…

管理类联考——英语二——技巧篇——阅读理解——taiqi

第一章 翻译技巧概述 一、词汇方面 (一)词义选择 大多数英语词汇是多义的,翻译时必须选择正确的词义。词义选择的方法有三:根据上下文和词的搭配选择根据词类选择、根据专业选择。 (二)词义转换 在理解英文词汇的原始意义基础…

vue安裝及配置 nodejs安装配置

vue安装及配置 vue安装步骤 nodejs安装 安装nodejs环境:https://nodejs.org/en/ 查看node版本:node-v vue3.0需要使用node 8版本以上 npm镜像配置 npm是nodejs内置的资源管理器 npm两个镜像: 淘宝镜像:https://registry.npm.…

Parallel Desktop下的Centos 9 ping通网络,配置静态ip的全过程

目录 一、发现问题1. 找不到网卡配置文件2. 网络重启的命令一直无法执行成功 二、分析问题三、解决问题系统环境1. 打开网卡配置文件2. 修改ipv4配置3. 重载网卡配置文件4. ping通,可以正常上网了 四、疑问1. 如何确定自己是不是设置了静态ip2. DHCP是固定静态ip 的…

使用PyMC进行时间序列分层建模

在统计建模领域,理解总体趋势的同时解释群体差异的一个强大方法是分层(或多层)建模。这种方法允许参数随组而变化,并捕获组内和组间的变化。在时间序列数据中,这些特定于组的参数可以表示不同组随时间的不同模式。 今天,我们将深…

shell内置命令

目录 内置命令介绍内置命令列表alisa内置命令alias别名定义语法unalias 别名删除语法alias演示 echo内置命令echo命令介绍echo输出语法echo输出转义字符 read内置命令介绍语法options支持的参数示例1:多个变量赋值 exit内置命令介绍语法示例:Shell脚本文…

Day01 项目简介分布式基础概念

最近在改进公司开发的商城项目,看到了尚硅谷的谷粒商城,就快速学习了下,因为之前的Kafka,Redis都是在这学习的,还有大数据的Flink。所以感觉一定不错,就开始了。 这里做一下学习笔记 一、项目简介 1 、项目背景 1 &…

AutoSAR系列讲解 - AutoSAR标准文档概览

目录 一、文档下载 二、文档结构 三、文档内容 四、各部分介绍 1、Introduction and functional o 目录 一、文档下载 二、文档结构 三、文档内容 四、各部分介绍 1、Introduction and functional overview 2、Acronyms and abbreviations 3、Related documentati…

基于Java+SpringBoot+vue的口腔管家平台设计与实现

博主介绍:擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案例…

向日葵× 实在RPA擦出AI的火花,贝锐与实在智能官宣战略合作

6月19日,实在智能(Intelligence Indeed)与贝锐(Oray)正式宣布达成战略合作。实在智能作为国内AI准独角兽企业和超级自动化平台提供商,与国内领先的SaaS远程连接解决方案提供商贝锐的实力“牵手”&#xff0…

Yolov5(tag v7.0)网络结构解读,以yolov5s为例

最近yolov5用的多,发现确实好用,于是较深入学了一下。下面按照训练的流程梳理一下网络的结构,同时也是自己记一下便于后面查阅。 同时,我也查了一些关于yolov5网络结构介绍的资料,发现大多是v5.0,少数v6.0的…

游泳戴的耳机推荐,列举感受水下快乐的游泳耳机

​游泳是个真心好玩的活动,对一般人来说简直是大杀器!它不仅对身体没有太大伤害,还能锻炼到身体的大部分肌肉,对心肺也超级有帮助。不过,问题来了: 之前很少见到有人戴耳机游泳,主要是担心进水…

mpi实现矩阵乘法,卷积,池化(gemm,covn,pooling)

矩阵乘法: 卷积: 池化: Mpi基本原理: 1.什么是MPI Massage Passing Interface:是消息传递函数库的标准规范,由MPI论坛开发。 一种新的库描述,不是一种语言。共有上百个函数调用接口,提供与C和F…

phpstorm+xdebug/php项目调试

前提:项目使用xampp集成 一、下载xdebug,当到xampp/php/exp目录下 二、配置php.ini [Xdebug] zend_extension"D:/xampp/php/ext/php_xdebug.dll" xdebug.collect_paramsOn xdebug.collect_returnOn xdebug.auto_traceOn xdebug.trace_output_…