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
常见问题:
- Docker版本Mysql容器中不支持输入中文,可以在进入容器时更换一种可支持中文的字符集,上述命令最后一条
- 进入容器后不会退出,先按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和本地下载的有什么区别:
- 安装和部署方式:传统的本地安装MySQL需要下载安装包、配置环境变量、手动创建启动服务等一系列步骤。而使用Docker安装MySQL则可以通过简单的命令将镜像下载到本地,然后一键启动容器即可使用。Docker提供了许多常用的MySQL镜像,如官方MySQL镜像、docker官方镜像、腾讯云镜像等,使得安装和部署变得更为简单和快速。
- 运行方式:本地安装的MySQL运行在一台机器上,且一台机器上只能运行一个MySQL实例。如果有多个MySQL实例的需求,需要进行额外的配置,可能会遇到冲突问题。而Docker中的MySQL则可以在一台机器上运行多个实例,并且每个实例都可以应用不同的配置文件,提供了更好的隔离性。
- 资源和性能管理:Docker容器具有轻量级和资源隔离的特点,可以更好地管理和控制MySQL实例的资源使用,例如CPU、内存等。这有助于实现更高效的资源利用和性能优化。
- 可扩展性和灵活性:Docker的容器化技术使得MySQL实例的扩展变得更为灵活和快速。通过简单的命令就可以实现容器的创建、删除、迁移等操作,从而方便地进行横向扩展和容灾恢复。
删除镜像或容器,移植镜像或容器等等详细信息请看Docker介绍与使用-CSDN博客
如有任何问题欢迎评论区留言