• Docker安装mysql、redis、rabbitmq


    【docker 安装mysql】

    1. docker pull mysql:latest
    2. docker images
    3. docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
    4. -v /usr/local/mysql/log:/var/log/mysql \
    5. -v /usr/local/mysql/data:/var/lib/mysql \
    6. -v /usr/local/mysql/conf:/etc/mysql \
    7. -v /etc/localtime:/etc/localtime:ro \
    8. -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
    9. #-p 3306:3306:指定宿主机端口与容器端口映射关系
    10. #--name mysql:创建的容器名称
    11. #--restart=always:总是跟随docker启动
    12. #--privileged=true:获取宿主机root权限
    13. #-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
    14. #-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
    15. #-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
    16. #-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
    17. #-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
    18. #-d mysql:latest:后台运行mysql容器,版本是latest。
    19. #如果启动失败,查看日志
    20. docker logs -f mysql
    21. #报错信息为:mysqld: Can't read dir of '/etc/mysql/conf.d/' (OS errno 2 - No such file or directory)
    22. #解决方案为
    23. cd /usr/local/mysql/conf
    24. mkdir conf.d
    25. mkdir mysql.conf.d
    26. #然后删除容器重新创建即可。
    27. docker exec -it your-mysql-container mysql -u root -p 可进入mysql

    【docker安装redis】 

    1. docker run -p 6379:6379 --name redis --restart=always --privileged=true \
    2. -v /usr/local/redis/conf:/etc/redis \
    3. -v /usr/local/redis/data:/data \
    4. -v /usr/local/redis/redis.log:/var/log/redis.log \
    5. -d redis:latest \
    6. redis-server /etc/redis/redis.conf \
    7. --appendonly yes --requirepass "123456"
    8. #如果启动失败,查看日志
    9. docker logs -f redis
    10. #指定redis-server /etc/redis/redis.conf的目的是让redis带配置文件启动,如果没有配置文件会报错
    11. #添加配置文件,vim /usr/local/redis/conf/redis.conf,添加行信息:
    12. bind 0.0.0.0
    13. #为redis设置登录密码,如果在云上建议开启
    14. requirepass 123456
    15. #开启持久化
    16. appendonly yes
    17. docker exec -it your-redis-container redis-cli 可进入redis命令行界面

    【docker安装rabbitmq】

    1. docker run -p 5672:5672 -p 15672:15672 --name rabbitmq --cpus 1 --memory 512M --restart=always --privileged=true -d rabbitmq:latest
    2. # 如果成功运行了RabbitMQ,但是无法通过http://IP:15672/访问后台管理界面,这是因为默认情况下他是没有启用管理插件和管理页面的
    3. # 进入容器
    4. docker exec -it 容器名 /bin/bash
    5. # 启用RabbitMQ的管理插件
    6. rabbitmq-plugins enable rabbitmq_management

    【常用命令】

    1. # 进入容器
    2. docker exec -it b41069c782e8 /bin/bash
    3. docker run -it nginx /bin/bash 进入容器
    4. # 查看docker状态
    5. docker stats
    6. # 查看日志
    7. docker logs b41069c782e8
    8. # 指定cpus和memory参数
    9. docker run -p 5672:5672 -p 15672:15672 --name rabbitmq --cpus 1 --memory 512M --restart=always --privileged=true -d rabbitmq:latest
    10. # 从容器内拷贝文件
    11. docker run -p 3306:3306 --name sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.40
    12. sudo docker cp sample-mysql:/etc/mysql/. /usr/local/mysql82/conf
    13. # 参数配置
    14. --cpus 1
    15. --memory 2G
    16. --ulimit nofile=1024
    17. # 共享网络空间(注意端口冲突的问题),解决docker内部localhost 127.0.0.1等问题。
    18. --network host
    1. # 构建镜像
    2. docker build -f Dockerfile -t <**> .
    3. # 登录远程仓库
    4. docker login -u <*> -p <*> <***>
    5. # 关联 本地->远程
    6. docker tag <*>:latest <***>:latest
    7. # 推送 本地->远程
    8. docker push <***>:<**version>

  • 相关阅读:
    【华为OD机试真题 python】 靠谱的车【2022 Q4 | 100分】
    单例设计模式
    webp批量转换为png、jpg工具
    佐助题库1228答案
    《趣学算法》阅读笔记(一)
    python爬取网站的一些技巧总结
    使用gen 结合gorm 生成表模型文件
    10UEC++吃豆人[吃超级豆子和改变游戏状态]
    “由于一段 Python 代码,我的号被封了”
    synchronized锁升级过程
  • 原文地址:https://blog.csdn.net/NB_Token/article/details/136350835