Docker实战之下载Mysql、Redis、Zimg

Docker实战之下载Mysql、Redis、Zimg

一、Mysql

bash 复制代码
docker search mysql 		# 找到合适的mysql镜像,一般选STAR最多的
docker pull mysql			# 拉取mysql的镜像,不写版本默认是latest(最新版)
docker run -itd --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql # 根据拉取的mysql镜像创建容器mysql1并运行
docker ps					# 查看正在运行的容器
docker exec -it xxx /bin/bash	# 进入mysql容器,xxx指容器名称或id这里是容器名称是mysql1
mysql -u root -p			# 登录mysql
docker exec -it xxx env LANG=C.UTF-8 /bin/bash	# 见下方常见问题

参数数明:

  • --name mysql1:为创建的容器起个名字mysql1
  • -p 3306:3306:映射容器的3306端口到宿主机的3306端口,外部主机可以直接通过宿主机ip:3306访问到容器的MySQL服务
  • -e MYSQL_ROOT_PASSWORD=123456:设置MySQL服务root用户密码为123456,-e参数用于向容器中传递环境变量
  • env LANG=C.UTF-8 指定环境变量LANG=C.UTF-8

常见问题:

  1. Docker版本Mysql容器中不支持输入中文,可以在进入容器时更换一种可支持中文的字符集,上述命令最后一条
  2. 进入容器后不会退出,先按Ctrl p松开再按Ctrl q可挂起容器

二、Redis

bash 复制代码
docker search redis 	# 找到合适的redis镜像,一般选STAR最多的
docker pull redis		# docker拉取redis镜像,不写版本默认是latest(最新版)
docker run -itd --name myRedis -p 6379:6379 redis --requirepass "123456"	# 根据拉取的redis镜像创建容器myRedis并运行
docker ps				# 查看正在运行的容器
docker exec -it xxx redis-cli	# 在xxx容器执行redis进入客户端命令redis-cli,xxx指容器名称或id,这里容器名称时是myRedis

参数数明:

  • --name myRedis:为创建的容器起个名字myRedis
  • -p 6379:6379:映射容器的6379端口到宿主机的6379端口,外部主机可以直接通过宿主机ip:6379访问到容器的Redis服务
  • --requirepass "123456":设置Redis的访问密码为123456

三、Zimg

bash 复制代码
docker search zimg			# 找到合适的redis镜像,一般选STAR最多的
docker pull iknow0612/zimg	# 拉取zimg镜像,iknow0612/zimg STAR最多
docker images 				# 查看所有镜像
docker run -itd -p 4869:4869 --name zimg-server iknow0612/zimg	# 根据zimg镜像创建并启动容器
docker ps					# 查看启动的容器

参数数明:同上

如果为下载了桌面版可以在图形界面启动关闭容器

四、常见问题与疑惑

以mysql为例

Docker下载的mysql和本地下载的有什么区别:
  1. 安装和部署方式:传统的本地安装MySQL需要下载安装包、配置环境变量、手动创建启动服务等一系列步骤。而使用Docker安装MySQL则可以通过简单的命令将镜像下载到本地,然后一键启动容器即可使用。Docker提供了许多常用的MySQL镜像,如官方MySQL镜像、docker官方镜像、腾讯云镜像等,使得安装和部署变得更为简单和快速。
  2. 运行方式:本地安装的MySQL运行在一台机器上,且一台机器上只能运行一个MySQL实例。如果有多个MySQL实例的需求,需要进行额外的配置,可能会遇到冲突问题。而Docker中的MySQL则可以在一台机器上运行多个实例,并且每个实例都可以应用不同的配置文件,提供了更好的隔离性。
  3. 资源和性能管理:Docker容器具有轻量级和资源隔离的特点,可以更好地管理和控制MySQL实例的资源使用,例如CPU、内存等。这有助于实现更高效的资源利用和性能优化。
  4. 可扩展性和灵活性:Docker的容器化技术使得MySQL实例的扩展变得更为灵活和快速。通过简单的命令就可以实现容器的创建、删除、迁移等操作,从而方便地进行横向扩展和容灾恢复。

删除镜像或容器,移植镜像或容器等等详细信息请看Docker介绍与使用-CSDN博客

如有任何问题欢迎评论区留言

相关推荐
午言若24 分钟前
MYSQL 架构
c++·mysql
小钟不想敲代码37 分钟前
Docker部署Sentinel
docker·容器·sentinel
罗政1 小时前
PDF书籍《手写调用链监控APM系统-Java版》第9章 插件与链路的结合:Mysql插件实现
java·mysql·pdf
chengma_0909091 小时前
MySQL 数据库连接数查询、配置
数据库·mysql
奋斗的老史1 小时前
Spring Retry + Redis Watch实现高并发乐观锁
java·redis·spring
林农1 小时前
C05S14-MySQL高级语句
linux·mysql·云计算
胖毁青春,瘦解百病2 小时前
Docker镜像源设置不生效问题排查
docker·容器
北欧人写代码2 小时前
MySQL 数据库备份与恢复
mysql
loop lee2 小时前
Redis - Token & JWT 概念解析及双token实现分布式session存储实战
java·redis
嘤嘤怪呆呆狗3 小时前
【开发问题记录】使用 Docker+Jenkins+Jenkins + gitee 实现自动化部署前端项目 CI/CD(centos7为例)
前端·vue.js·ci/cd·docker·gitee·自动化·jenkins