Docker入门二(应用部署、迁移与备份)

文章目录

  • 一、应用部署
    • 1.MySQL部署
    • 2.Redis部署
    • 3.Nginx部署
  • 二、迁移与备份
    • 1.容器做成镜像
    • 2.把镜像被分成压缩包

一、应用部署

1.MySQL部署

	'在dokcer中部署mysql,以后不需要在宿主机上装mysql'1.做端口映射docker run -id --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.72.做目录映射-如果没有做目录映射,在mysql容器中表数据一旦删除就所有都没有了,一旦做了目录映射,重新创建相同的,数据会在里面还在1.docker pull mysql:5.7  拉取镜像2.mkdir /mysql  # 创建文件夹数据分离  在根目录下mkdir /mysql/conf.dmkdir /mysql/data/'创建好文件 写入配置'3.vim /mysql/my.cnf  # 如果在宿主机上没有安装vim,就使用vi创建'写入数据,就是和本机上面安装的mysql的配置文件差不多参数'[client]default-character-set=utf8[mysqld]user=mysqlcharacter-set-server=utf8default_authentication_plugin=mysql_native_passwordsecure_file_priv=/var/lib/mysqlexpire_logs_days=7sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONmax_connections=10004.做目录映射  # 基于镜像运行成容器 端口映射3306 目录映射docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.75.本地链接好容器mysql5.7,创建库、创建表,插入数据6.关闭容器,删除容器,这样mysql的容器就没有了,但是数据还在宿主机上放着docker stop mysql5.7docker rm mysql5.7'这个时候删除容器 数据还在 只需要再创建一个新的容器 做好目录映射就可以继续使用了,目录保持一致,密码保持一致'

2.Redis部署

	1.docker pull redis 	# 拉取redis镜像,不写版本默认latest2.mkdir /root/data    # 根目录创建data文件夹3.vim /root/redis.conf  # 创建并编辑redis配置文件bind 0.0.0.0daemonize NOprotected-mode yesrequirepass 12344.运行创建-启动容器时,运行的命令是什么 redis-server /etc/redis/redis.conf-在容器运行时,可以自己定制运行命名 举例:docker run -id centos:centos7 lsdocker run -id  -p 6379:6379 --name redis -v /root/redis.conf:/etc/redis/redis.conf -v /root/data:/data redis  redis-server /etc/redis/redis.conf5.运行redis容器,并写入数据,用本地能链接redis的软件链接一下查看,或者直接cmd链接docker exec -it redis /bin/bash'容器redis链接'redis cli  # 链接auth xxxx # 密码'cmd窗口链接查看'redis-cli -h ip地址 -p 端口号auth 密码'resp链接:填入链接名称(随意填)、地址、密码即可'

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.Nginx部署

1.docker pull nginx 	# 拉取nginx镜像
'没做映射操作'
2.docker run -id --name=nginx -p 80:80 nginx  # run起容器
3.从win机器浏览器可以访问:xx.xxx.xx:80
4.进入容器内部,修改index    /usr/share/nginx/htmldocker exec -it nginx /bin/bash
5.修改index.htmlvi、vim、yum都没有因为不是Centos系统apt-get updateapt-get install vim
'做映射操作'
6.做目录映射# /usr/share/nginx/html-docker run -id --name nginx1 -p 8088:80 -v /root/html:/usr/share/nginx/html nginx-cd /root/html-vi index.html  随便填入html文本 <h1>hello world!</h1>-进入到容器内部后到/usr/share/nginx/html目录就可以看到映射过来的index.html文件了'以后只需要修改宿主机的/root/html 路径,看到页面就是修改后的'

在这里插入图片描述
在这里插入图片描述

二、迁移与备份

1.容器做成镜像

	-镜像从哪来的?1 docker pull 拉的2 通过容器打包成镜像-centos镜像运行成容器---》装了vim-把装了vim的容器---》打包成镜像-以后拿到这个镜像--》再运行成容器,都会带vim命令3 Dockerfile构建-容器保存为镜像-运行一个centos容器docker run -id --name centos_vim centos:centos7-在容器中装vimdocker exec -it a6e240 /bin/bashyum install vim -y-把容器做成镜像(centos+vim)  需要退出容器,在宿主机上操作docker commit 容器名 镜像名docker commit centos_vim centos_vim-把centos_vim 容器删除docker rm centos_vim -f-基于新构建的镜像,运行成容器docker run -id --name centos_vim centos_vim:latest-进入到容器中,查看,软件都在docker exec -it c3e633bd1 /bin/bash

2.把镜像被分成压缩包

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

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

相关文章

Fundamentals of Amazon MSK (Amazon Managed Streaming for kafka)

Amazon Managed Streaming for Apache Kafka 或 Amazon MSK 允许您在 AWS 中运行利用 Apache Kafka 的应用程序。 Kafka 提供了一个流处理平台&#xff0c;并作为基于发布者/订阅者的持久消息传递系统运行。 其主要功能是能够以极高的容错能力获取数据&#xff0c;允许这些记录…

网工内推 | 国企、上市公司网工、运维,CCNA即可,补贴福利多

01 深圳新思 招聘岗位&#xff1a;网络工程师&#xff08;中电集团&#xff09; 职责描述&#xff1a; 1&#xff1a;负责办公室电脑的桌面运维&#xff0c;主要是windows维护与应用维护&#xff1b; 2&#xff1a;负责办公室网络设备配置&#xff0c;如防火墙&#xff0c;交换…

CMake 编译 raylib 程序

CMakeLists.txt 内容如下&#xff1a; cmake_minimum_required(VERSION 3.0) project(t001) # 搜索指定目录下源文件 file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) # 包含头文件路径 include_directories(F:/vclib/raylib-5.0_win64_mingw-w64/include) # 包含静态…

CountDownLatch介绍和使用

1. CountDownLatch是什么 CountDownLatch 是 Java.util.concurrent 包中的一个同步工具类&#xff0c;用于控制线程的执行顺序。它的主要作用是让一个或多个线程等待其他线程完成操作后再继续执行。 2. CountDownLatch 类常用方法 CountDownLatch(int count) 是 CountDownLa…

使用maven命令行。手动搭建maven项目

要使用Maven命令行&#xff0c;首先需要确保已经安装了Maven。接下来&#xff0c;可以按照以下步骤手动搭建Maven项目&#xff1a; 创建项目目录&#xff1a;在命令行中切换到你希望创建项目的目录下&#xff0c;然后执行以下命令&#xff1a; mkdir myproject cd myproject初…

软件测试基础概念

一、需求 定义&#xff1a;满足用户期望或正式规定文档所需条件和技能&#xff0c;包含用户需求 用户需求&#xff1a;用户使用产品所必须完成的任务 该需求比较简略 软件需求&#xff1a;详细描述开发人员必须实现的软件功能 需求是标准&#xff0c;测试人员按照这个标准测…

python之第三方模块

配置pip源 更新pip pip install --upgrade pip 下载清华源 pip config set global.index-url Simple Index requests 用代码模拟向浏览器发送请求 #返回的是json格式&#xff0c;分页查询 import requests for i in range(0,100,10):resrequests.get(url"https://mov…

全球首个 AI 超级工程师:拥有全栈技能,一个指令就能完成整个开发过程

全球首位AI软件工程师Devin是由初创公司Cognition推出的&#xff0c;它被认为是世界上第一个完全自主的AI软件工程师[2][15]。Devin具备强大的编程和软件开发能力&#xff0c;能够在多个方面协助或完全独立地完成软件开发任务[15]。它的核心能力包括自学新语言、开发迭代App、自…

基于qt和css的MP3音乐播放器引擎开发

1 QMainWindow&#xff1a; QMainWindow 是用于创建应用程序主窗口的类。它通常用于具有菜单栏、工具栏、状态栏等标准组件的窗口。 QMainWindow 提供了一种框架&#xff0c;用于组织和管理应用程序的用户界面元素。它可以包含其他小部件&#xff08;widgets&#xff09;和布局…

C语言分析基础排序算法——归并排序

目录 归并排序 递归版本 非递归版本 非递归版本的问题 归并排序小优化 归并排序 归并排序&#xff0c;分为分治以及合并&#xff0c;分治部分可以使用递归或者非递归完成&#xff0c;归并排序的基本思路是&#xff1a;将已有序的子序列合并&#xff0c;得到完全有序的序列…

解决 :nvrtc: error: invalid value for --gpu-architecture (-arch)

核心&#xff1a;在显卡安装的cuda版本适配的pytorch中&#xff0c;更换pytorch的版本 刚遇到这个错误时&#xff0c;在网上搜索了一下&#xff0c;感谢博主1和博主2的解决方法带给我的启发。 标题服务器cuda是11.3版本&#xff0c;配置其他环境“御用”的pytorch安装语句 co…

社区维修平台|基于SpringBoot+ Mysql+Java+JSP技术的社区维修平台设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 住户后台功能 维修员前台功能 维修员后台功能 管理员功能登录 系统功能设计 数据库E…

用python实现Dubins曲线生成

Dubins曲线是连接两个具有指定方向和位置的点的最短路径&#xff0c;其中路径受到固定曲率约束&#xff08;如车辆的转向限制&#xff09;。Dubins曲线常用于机器人路径规划、车辆轨迹规划等领域。 Dubins曲线可以分为三种类型&#xff1a;CCC (Curve-Curve-Curve), CCL (Curv…

C++面试题和笔试题(四)

一、intx[6][4],(*p)[4];px;则*(p2)指向哪里&#xff1f; A X[0][1]B X[0][2]C X[1][0]D X[2][0] 官方解释&#xff1a; D int x[6][4], (*p)[4]; p x; 在这里&#xff0c;x 是一个二维数组&#xff0c;它有6行和4列。p 是一个指向具有4个整数的数组的指针。 当你执行…

DevOps-SonarQube整合Jenkins

下载SonarQube Scanner 登录Jenkins服务器&#xff0c;下载SonarQube Scanner wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip安装unzip&#xff0c;需要通过它来解压zip压缩包 yum install -y unzip解压So…

学习笔记——计算机网络(Internet、网络边缘)

一、Internet 网络是由多个计算机和其他网络设备通过通信链路相互连接而形成的互联网&#xff0c;用于实现数据传输和资源共享。它是现代信息社会中不可或缺的基础设施。 1.计算机网络&#xff1a; 通过通信链路连接&#xff1b; 以共享资源为目标&#xff1b; 资源包括&a…

基于Web的论文管理系统设计

目 录 目 录 III 摘 要 V 关键词 V Abstract VI Key Word VI 第一章 绪论 6 1.1系统设计背景 1 1.2系统设计目的与意义 1 1.3国内外现状 2 1.4本文结构 3 第二章 需求分析 3 2.1系统需求分析 4 2.2系统角色设计 4 第三章 系统开发技术 4 3.1 PHP语言简介和特点 5 3.2 Mysql数据…

【项目笔记】java微服务:黑马头条(day02)

文章目录 app端文章查看&#xff0c;静态化freemarker,分布式文件系统minIO1)文章列表加载1.1)需求分析1.2)表结构分析1.3)导入文章数据库1.3.1)导入数据库1.3.2)导入对应的实体类 1.4)实现思路1.5)接口定义1.6)功能实现1.6.1)&#xff1a;导入heima-leadnews-article微服务&am…

学C还是学C++?

计算机专业学生&#xff0c;大一上学期学习了C语言&#xff0c;下学期学校要学C&#xff0c;请问我寒假继续深入学习C还是提前学C,大佬们有什么建议吗&#xff1f;&#xff08;个人感觉C学的不是很明白&#xff0c;链表文件什么的还不是很懂…&#xff09; 这个并没有一个统一的…

流量池增长(6)

DMP和游戏化思维 流量的运营与挖掘 DMP: Data Management Platform&#xff0c;是一种用户数据标签化的管理和应用平台 DMP的价值 精准营销运营优化 建立DMP 用户标签化&#xff1a;与其他企业进行数据标签的撞库&#xff0c;进行精准的广告投放管理&#xff1a;执行营销策略…