4.Docker 应用部署

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 4.Docker 应用部署

MySQL部署

  1. 拉取mysql镜像docker pull mysql:5.6
  2. 创建容器,设置端口映射

bash

复制代码

# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql

bash

复制代码

docker run -id \
-p 3307: 3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v SPWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYsQL_ROOT_PASSWORD=123456 \
mysql:5.6
shell

参数说明:

  • -p 3307:3306:将容器的3306端口映射到宿主机的3307端口。
  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf。配置目录
  • -v $PWD/logs:/logs:将主机当前目录下的 logs目录挂载到容器的/logs。日志目录
  • -v $PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql。数据目录
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码。
  1. 操作容器中的mysql ![[Pasted image 20230912193331.png]]
  • 容器内的网络服务和外部机器不能直接通信。外部机器和宿主机可以直接通信
  • 宿主机和容器可以直接通信
  • 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问容器的服务。
  • 这种操作称为:端口映射

css

复制代码

mysql -u root -P 13306 -p

之后进入mysql容器,就可以按照mysql的用法正常使用了。

在宿主机中访问

docker exec -it c_mysql /bin/bash可以通过前面映射在宿主机的端口访问localhost:xxx 就可以在宿主机链接数据库

mysql数据导出

在宿主机终端链接mysql容器 首先是按照sql文件的导出mysql数据库导入导出 - lonmy - 博客园 (cnblogs.com)

css

复制代码

mysqldump -u 用户名 -p 数据库名 > 导出的文件名  
mysqldump -u root -p gva > dump.sql

把导出的文件复制到容器外面Docker cp 命令 | 菜鸟教程 (runoob.com)

bash

复制代码

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp gva-mysql:/dump.sql /
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

mysql数据导入

bash

复制代码

# 复制文件dump.mysql到gva-mysql容器里面
docker cp dump.sql gva-mysql:/
# 进入容器
docker exec -it gva-mysql /bin/bash


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
17 3
|
4天前
|
消息中间件 数据可视化 RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
16 4
|
5天前
|
安全 关系型数据库 开发者
Docker Compose凭借其简单易用的特性,已经成为开发者在构建和管理多容器应用时不可或缺的工具。
Docker Compose是容器编排利器,简化多容器应用管理。通过YAML文件定义服务、网络和卷,一键启动应用环境。核心概念包括服务(组件集合)、网络(灵活通信)、卷(数据持久化)。实战中,编写docker-compose.yml,如设置Nginx和Postgres服务,用`docker-compose up -d`启动。高级特性涉及依赖、环境变量、健康检查和数据持久化。最佳实践涵盖环境隔离、CI/CD、资源管理和安全措施。案例分析展示如何构建微服务应用栈,实现一键部署。Docker Compose助力开发者高效驾驭复杂容器场景。
16 1
|
6天前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
10天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
15天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第22天】使用Docker部署RSS阅读器yarr
26 3
|
15天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
15天前
|
数据采集 JavaScript Go
蓝易云 - crawlab通过docker单节点部署简单爬虫
以上就是通过Docker单节点部署Crawlab并运行简单爬虫的步骤。在实际操作中,你需要根据自己的需求对爬虫代码进行编写。
17 2
|
2天前
|
关系型数据库 MySQL 数据安全/隐私保护
Docker01,相关介绍,是快速构建、运行、管理应用的工具
Docker01,相关介绍,是快速构建、运行、管理应用的工具
|
9天前
|
消息中间件 监控 RocketMQ
Docker Compose 一键快速部署 RocketMQ
Docker Compose 一键快速部署 RocketMQ
23 0