搜索
首页数据库Redisdocker安装mysql、redis镜像的方法是什么

docker安装mysql、redis镜像的方法是什么

May 26, 2023 pm 08:16 PM
mysqlredisdocker

    docker安装mysql、redis镜像

    docker镜像商店:官方镜像商店

    redis安装下载

    下载镜像:

    docker安装mysql、redis镜像的方法是什么

    docker安装mysql、redis镜像的方法是什么

    可直接默认下载最新镜像,也可以指定版本下载【注意,版本差异不大的软件可以直接下载最新版本,差异大的,例如java,mysql等,最好指定熟悉的版本进行下载

    docker pull redis

    启动镜像:

    docker run --name=redis -d --restart=always -p 6379:6379 redis
    • --name:别名

    • -d:后台运行,镜像不会随窗口关闭而关闭

    • --restart=always:随docker启动而自启 可以进行后配置:docker update --restart=always [容器名称|id]

    • -p:6379[主机端口]:6379[映射端口],如果有版本号,应该带上版本号redis:6.2.6

    挂载外部文件启动:

    提前创建好文件夹和文件,redis.conf如果没有特别的配置,可以参考(测试环境,生产环境换成本地,关闭密码即可):

    docker安装mysql、redis镜像的方法是什么

    #redis使用自定义配置文件启动
     
    docker run -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
    -v /mydata/redis/data:/data \
    -d --name redis \
    --restart=always \
    -p 6379:6379 \
    redis:latest  redis-server /etc/redis/redis.conf
     
    #最后这一句代表自启动方式,redis启动默认不加载此处配置
    redis-server /etc/redis/redis.conf

    mysql安装下载

    镜像参考redis直接下载对应版本即可。

    -v:配置挂载,冒号左边为容器内部想要挂载出去的配置路径,右边为挂载的实际路径

    例如:mysql,挂载日志,数据,配置等信息到外部

    docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7

    修改配置文件 my.cnf

    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    lower_case_table_names=1

    最后说一下文件外部挂载的优缺点:

    • 优点:修改配置方便,不用每次都进入容器内部

    • 缺点:外部挂载方式镜像将不可以打包传递

    docker安装使用及用docker安装mysql,Redis,nacos

    安装

    卸载之前的docket

    sudo yum remove docker \
                       docker-client \
                       docker-client-latest \
                       docker-common \
                       docker-latest \
                       docker-latest-logrotate \
                       docker-logrotate \
                       docker-engine
    sudo yum install -y yum-utils  //设置存储库

    设置仓库地址,默认国外,也可以设置阿里云的

    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    yum-config-manager \
        --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    安装docket引擎等组件

    sudo yum install docker-ce docker-ce-cli containerd.io

    启动docket

    sudo systemctl start docker

    配置加速镜像

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-&#39;EOF&#39;
    {
      "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    docket常用命令

    systemctl stop docker //关闭docker
    systemctl restart docker //重启docker
    systemctl status docker  //查看docker状态
    systemctl enable docker  //设置docker开机自启动
    
    docker images  //查看自己服务器的镜像列表
    docker search 镜像名  //搜索指定镜像
    docker search --filter=STARS=9000 mysql  //搜索 STARS >9000的 mysql 镜像
    docker pull 镜像名 //拉取docker仓库里的镜像
    docker pull 镜像名:tag  //拉取docker仓库里指定版本的镜像,具体版本号需要到镜像官网查看(https://hub.docker.com/search?type=image)
    docker pull mysql 5.7.30 //拉取5.7.30的mysql
    docker run 镜像名  //运行镜像
    docker run 镜像名:Tag  //运行指定版本的镜像
    
    docker rmi -f 镜像名/镜像ID //删除一个镜像,镜像没有被别的镜像使用才可以删除
    docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID  //删除多个镜像,空格隔开
    docker rmi -f $(docker images -aq) //删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
    docker image rm 镜像名称/镜像ID  //强制删除镜像
    
    docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
    docker save tomcat -o /myimg.tar //保存Tomcat到myimg.tar里
    docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag
    
    docker ps  //查看正在运行容器列表
    docker ps -a  //查看所有容器 -----包含正在运行 和已停止的
    docker exec -it 容器名 路径//进入容器 里的路径
    #删除一个容器
    docker rm -f 容器名/容器ID
    #删除多个容器 空格隔开要删除的容器名或容器ID
    docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
    #删除全部容器
    docker rm -f $(docker ps -aq)
    docker start 容器ID/容器名  //启动容器
    docker stop 容器ID/容器名    //停止容器
    docker restart 容器ID/容器名    //重启容器
    docker kill 容器ID/容器名  //kill 容器
    
    docker cp 容器ID/名称: 容器内路径  容器外路径        //容器内拷文件到外面
    docker cp 容器外路径 容器ID/名称: 容器内路径        //容器外拷文件到容器内
    docker run -it -d --name 容器别名 镜像名 --restart=always   //容器随着docker启动而启动
    docker update --restart=always 容器Id 或者 容器名 //修改容器启动配置(设置自启动)
    docker rename 容器ID/容器名 新容器名  //更改容器名
    
    docker logs container-id    //查看容器日志
    sudo docker info | grep "Docker Root Dir"  //查看docker工作目录
    du -hs /var/lib/docker/     //查看docker磁盘占用总体情况
    docker system df    //查看Docker的磁盘使用具体情况
    docker rm `docker ps -a | grep Exited | awk &#39;{print $1}&#39;`  //#  删除异常停止的容器
    docker rmi -f  `docker images | grep &#39;<none>&#39; | awk &#39;{print $3}&#39;` //删除名称或标签为none的镜像

    使用docker安装MySQL

    sudo docker pull mysql:5.7.39  //拉取mysql镜像到本地
    # --name指定容器名字 -v目录挂载 -p指定端口映射(宿主机端口:容器端口)  -e设置mysql参数 -d后台运行
    sudo docker run --name mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/mysql-files:/var/lib/mysql-files/  -e MYSQL_ROOT_PASSWORD=root  -p 3306:3306 -d mysql:5.7
    docker exec -it 容器名称|容器id bin/bash  //进入容器里
    exit  //退出容器
     -v /usr/local/mysql/mysql-files:/var/lib/mysql-files/

    验证:用连接工具测试能不能连接成功,或window下cmd测试

    ssh -v -h 3306 IP

    使用docker安装Redis

    docker pull redis:6.0.10  //拉取镜像

    创建配置文件,docker-Redis里面默认没有配置文件,在宿主机创建并挂载到容器里

    mkdir /home/redis
    cd /home/redis
    vi redis.conf

    添加如下内容

    bind 0.0.0.0  开启远程权限
    appendonly yes  开启aof持久化

    启动Redis容器并挂载文件

    docker run --name redis  -v /home/redis/data:/data  -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis:6.0.10  redis-server /usr/local/etc/redis/redis.conf
    docker exec -it redis redis-cli //进入Redis客户端

    安装nacos

    拉取镜像

    docker pull nacos/nacos-server

    查看镜像

    docker images

    启动容器

    docker run --env MODE=standalone --name mynacos -d -p 8848:8848 docker.io/nacos/nacos-server

    查看启动日志

    docker logs -f mynacos

    日志中显示nacos服务地址为:

    http://172.18.0.2:8848/nacos/index.html

    默认账号密码都是nacos

    进入nacos容器查看配置

    docker ps
    docker exec -it 容器名或ID /bin/bash
    ls
    cd conf/
    ls

    修改启动配置文件

    进入

    docker exec -it nacos /bin/bash

    进入启动脚本

    cd /home/nacos/bin
    vim docker-startup.sh

    以上是docker安装mysql、redis镜像的方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明
    本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
    REDIS:超越SQL- NOSQL的观点REDIS:超越SQL- NOSQL的观点May 08, 2025 am 12:25 AM

    Redis超越SQL数据库的原因在于其高性能和灵活性。1)Redis通过内存存储实现极快的读写速度。2)它支持多种数据结构,如列表和集合,适用于复杂数据处理。3)单线程模型简化开发,但高并发时可能成瓶颈。

    REDIS:与传统数据库服务器的比较REDIS:与传统数据库服务器的比较May 07, 2025 am 12:09 AM

    Redis在高并发和低延迟场景下优于传统数据库,但不适合复杂查询和事务处理。1.Redis使用内存存储,读写速度快,适合高并发和低延迟需求。2.传统数据库基于磁盘,支持复杂查询和事务处理,数据一致性和持久性强。3.Redis适用于作为传统数据库的补充或替代,但需根据具体业务需求选择。

    REDIS:功能强大的内存数据存储的简介REDIS:功能强大的内存数据存储的简介May 06, 2025 am 12:08 AM

    Redisisahigh-performancein-memorydatastructurestorethatexcelsinspeedandversatility.1)Itsupportsvariousdatastructureslikestrings,lists,andsets.2)Redisisanin-memorydatabasewithpersistenceoptions,ensuringfastperformanceanddatasafety.3)Itoffersatomicoper

    Redis主要是数据库吗?Redis主要是数据库吗?May 05, 2025 am 12:07 AM

    Redis主要是一个数据库,但它不仅仅是数据库。1.作为数据库,Redis支持持久化,适合高性能需求。2.作为缓存,Redis提升应用响应速度。3.作为消息代理,Redis支持发布-订阅模式,适用于实时通信。

    REDIS:数据库,服务器还是其他?REDIS:数据库,服务器还是其他?May 04, 2025 am 12:08 AM

    redisisamultifaceTedToolThatServesAsAdatabase,server和more.itfunctionsasanin-memorydatastrustore,supportsvariousDataStructures,and CanbeusedAsacache,MessageBroker,sessionStorage,sessionStorage,sessionstorage,andford forderibedibedlocking。

    REDIS:揭示其目的和关键应用程序REDIS:揭示其目的和关键应用程序May 03, 2025 am 12:11 AM

    Redisisanopen-Source,内存内部的库雷斯塔氏菌,卡赫和梅斯吉级,excellingInsPeedAndVersatory.itiswidelysusedforcaching,Real-Timeanalytics,Session Management,Session Managements,and sessighterboarderboarderboardobboardotoitsssupportfortfortfortfortfortfortfortfortorvortfortfortfortfortfortforvortfortforvortforvortforvortfortforvortforvortforvortforvortdatastherctuct anddatataCcessandcessanddataaCces

    REDIS:键值数据存储的指南REDIS:键值数据存储的指南May 02, 2025 am 12:10 AM

    Redis是一个开源的内存数据结构存储,用作数据库、缓存和消息代理,适合需要快速响应和高并发的场景。1.Redis使用内存存储数据,提供微秒级的读写速度。2.它支持多种数据结构,如字符串、列表、集合等。3.Redis通过RDB和AOF机制实现数据持久化。4.使用单线程模型和多路复用技术高效处理请求。5.性能优化策略包括LRU算法和集群模式。

    REDIS:缓存,会话管理等REDIS:缓存,会话管理等May 01, 2025 am 12:03 AM

    Redis的功能主要包括缓存、会话管理和其他功能:1)缓存功能通过内存存储数据,提高读取速度,适用于电商网站等高频访问场景;2)会话管理功能在分布式系统中共享会话数据,并通过过期时间机制自动清理;3)其他功能如发布-订阅模式、分布式锁和计数器,适用于实时消息推送和多线程系统等场景。

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    Video Face Swap

    Video Face Swap

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热门文章

    热工具

    SublimeText3 Linux新版

    SublimeText3 Linux新版

    SublimeText3 Linux最新版

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    功能强大的PHP集成开发环境

    EditPlus 中文破解版

    EditPlus 中文破解版

    体积小,语法高亮,不支持代码提示功能

    适用于 Eclipse 的 SAP NetWeaver 服务器适配器

    适用于 Eclipse 的 SAP NetWeaver 服务器适配器

    将Eclipse与SAP NetWeaver应用服务器集成。

    螳螂BT

    螳螂BT

    Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。