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

news2024/11/25 4:20:45

目录

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:输入文件

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

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

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

相关文章

C语言深度刨析(二)——符号

文章目录 前言注释符号几个似非而是的注释问题y x/*p如何编写出出色的注释 接续符和转义符单引号、双引号逻辑运算符位运算符左移和右移0x01<<23的值为多少&#xff1f; 花括号、--操作符2/(-2)的值是多少&#xff1f;运算符的优先级运算符的优先级表一些容易出错的优先…

JavaEE课程设计(项目详细设计)

目录 项目文件组织结构 springbootschemaApplication dao controller application.yml entity annotation interceptor config 项目文件组织结构 这是后端部分的源码结构图 springbootschemaApplication springbootschemaApplication是整个项目的入口 package …

AI热门垂直领域大模型盘点(附论文)

上回分享了一些通用大模型的使用感受&#xff0c;今天咱们就来聊聊垂直领域大模型&#xff0c;照旧附上论文资料&#xff0c;同学们自取哈&#xff01; 其实照目前的趋势来看&#xff0c;垂直领域大模型的未来发展是要比通用大模型好的&#xff0c;一是通用大模型有GPT4这座难…

Java手动编码实现与k8s交互式shell

前言 要手动编码&#xff0c;和k8s做shell交互&#xff0c;我们需要弄清以下两个问题&#xff1a; 1、Java如何与k8s做shell交互 2、前端界面如何与Java后台交互 3、多个用户并发访问如何实现 问题1&#xff1a; k8s官方提供了各种语言的KubernetesAPI&#xff0c;对于Ja…

用AI修复郭德纲远古相声;小红书爆款文案Prompt模板;用AI经营一家三明治店;AI将实现80%编程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; B站UP主使用AI修复郭德纲远古相声&#xff0c;10天播放近70万 B站UP主 野老相声-风景-4K修复 使用了AI换脸技术&#xff0c;对郭德纲、…

【ArcGIS Pro二次开发】(41):勘测定界txt文件转数据库(批量)

在规划工作中有时候会收到一种带坐标点的txt文件&#xff1a; 上网查了一下资料&#xff0c;这是根据《勘测定界界址点坐标交换格式》制作的固定格式文件。 其中包含了坐标系、精度、地块编号、地块名称、坐标点等信息。 这个工具的目的就是将TXT格式坐标批量转换为数据库文件…

生物群落(生态)数据统计分析与绘图

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂&#xff0c;涉及众多统计分析方法。以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线&#xff0c;通过多个来自经典…

一些WEB测试方法

ladys and 乡亲们&#xff0c;long time no see&#xff0c;发个笔记&#xff1a;&#xff09; 首先&#xff0c;WEB是咋组成的 Web应用程序一般是B/S模式&#xff0c;一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界&#xff…

最喜爱的编程语言——Python

一、编程语言发展 编程语言&#xff08;programming language&#xff09;可以简单的理解为一种计算机和人都能识别的语言。一种能够让程序员准确地定义计算机所需数据的计算机语言&#xff0c;并精确地定义在不同情况下所应当采取的行动。 编程语言处在不断的发展和变化中&…

上海亚商投顾:沪指延续调整 机器人概念股掀涨停潮

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 大小指数今日略显分化&#xff0c;沪指全天震荡调整&#xff0c;深成指、创业板指则拉升翻红。机器人概念股掀涨停…

手把手教你使用抖音DOU+创作个性化视频!

抖音DOU是抖音推出的一项全新功能&#xff0c;旨在为用户提供更加个性化、丰富多彩的内容创作和交流体验。DOU提供了一系列强大的创作工具&#xff0c;包括音频剪辑、特效滤镜、场景转换、字幕编辑等&#xff0c;让用户可以轻松地将自己的创意通过视频分享到抖音平台上来。下面…

数值分析第四章节 用Python实现数值积分与数值微分

参考书籍&#xff1a;数值分析 第五版 李庆杨 王能超 易大义编 第4章 数值积分与数值微分 文章声明&#xff1a;如有发现错误&#xff0c;欢迎批评指正 文章目录 梯形公式矩形公式辛普森公式柯特斯公式复合梯形公式复合辛普森公式 4.1数值积分概论 4.1.1数值积分基本思想 使用某…

【Vue全家桶高仿小米商城】——(四)项目基础架构

第四章&#xff1a;项目基础架构 此章节全力讲解前端基本项目架构&#xff0c;通过此章节可搭建一个通用性的前端架构&#xff0c;内容涵盖跨域方案、路由封装、错误拦截等。 文章目录 第四章&#xff1a;项目基础架构一、前端跨域解决什么是前端跨域&#xff1f;怎么解决前端…

将h5项目转成uniapp小程序

打开微信开发者工具&#xff0c;新建项目&#xff1b;pages下index文件中index.wxml文件打开内容全删除&#xff1b;写入<web-view srchttp://域名.com/></web-view>&#xff1b;编译&#xff0c;成功在小程序中展示&#xff1b;其后&#xff0c;正常按照小程序流程…

scp命令及后台运行

将项目从一个服务器迁移到另外一个服务器的时候 当项目很大的时候 可以用到如下 1、scp -r 本地项目路径 需要迁移服务器的IP:/存放路径 scp -r /u01/media/Disk1/ 192.168.1.31:/u01/media/ reverse mapping checking getaddrinfo for bogon failed - POSSIBLE BREAK-IN ATTEM…

算法篇——动态规划 01背包问题 (js版)——更新新题

416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 链接&#xff1a;力扣 解题思路&#xff1a; 这道题看似是比较简单的背包问题&#xff1a; 首先可以通过判断数组和是否是…

【ZenUML】时序图之ZenUML详解

时序图 序列图是一种交互图&#xff0c;显示进程如何彼此操作以及顺序。 Mermaid可以使用ZenUML渲染序列图。请注意&#xff0c;ZenUML使用的语法与mermaid中的原始序列图不同。 目前&#xff0c;最新版本mermaid v10.2.3 暂时不单独支持zenuml语法,需要配合mermaid-zenuml一…

动态规划_可视化校园导航Floyd算法应用

目录 引言 图片展示 视频展示 针对校园导航问题的分析 关键技术和算法介绍 详细介绍&#xff1a;算法的实现 总结 代码 附件&#xff1a;Map.png 引言 本文主要通过详细的程序打印和作者的推理过程&#xff0c;描述作者对Floyd算法的理解&#xff0c;阐述其中的动态规划思想是如…

突然发现CSDN变得不一样了【建议】【活动】

突然发现CSDN变得不一样了【活动】 前言推荐突然发现CSDN变得不一样了关于上传代码包关于上传视频关于运行代码关于插入代码1关于插入代码2关于社区的建立关于社区的管理关于此次活动的评选关于排行突然发现说明一下关于我 最后 前言 2023-6-19 23:34:04 本文章仅用于参加 20…

【Python 随练】年龄计算问题

题目&#xff1a; 有 5 个人坐在一起&#xff0c;问第五个人多少岁&#xff1f;他说比第 4 个人大 2 岁。问第 4 个人岁数&#xff0c;他说比第3 个人大 2 岁。问第三个人&#xff0c;又说比第 2 人大两岁。问第 2 个人&#xff0c;说比第一个人大两岁。最后问第一个人&#x…