• docker安装一系列镜像


    启动docker

    systemctl start docker

    docker 启动已经停止的容器

    docker start idOrName

     PS:idOrName为容器的id或者名称

    1、安装mysql镜像

    拉取mysql5.7的镜像

    docker pull mysql:5.7

    查看镜像

    docker images

    启动mysql

    1. #启动mysql
    2. docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

    查询容器id为39b1d9706a03 内的文件目录

    docker exec 39b1d9706a03 ls -a /

    复制配置文件 

    docker cp mysql:/etc/my.cnf /home/hff/software/docker/mysql/conf/
    

    打开/home/hff/software/docker/mysql/conf/my.cnf 文件,增加以下内容。

    1. # 配置文件中添加如下内容,注意是在在[mysqld]目录中
    2. log-bin=mysql-bin # 开启 binlog
    3. binlog-format=ROW # 选择 ROW 模式
    4. server-id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

    删除原 MySQL 容器,通过新配置创建新的容器。 

    1. # 删除运行中的 MySQL 容器
    2. docker rm -f mysql
    3. # 运行 Docker 容器命令
    4. # /etc/localtime 时间同步
    5. # /docker/software/mysql/conf 同步配置文件,上面配置的内容就会覆盖容器中的配置文件
    6. # /docker/software/mysql/log 同步日志目录
    7. # /docker/software/mysql/data 同步 MySQL 的一些文件内容(对数据进行备份)
    8. # MYSQL_ROOT_PASSWORD=root 默认 root 的密码是 root
    9. docker run --name mysql \
    10. -p 3306:3306 \
    11. -v /home/hff/software/docker/mysql/conf/:/etc \
    12. -v /home/hff/software/docker/mysql/log:/var/log \
    13. -v /home/hff/software/docker/mysql/data:/var/lib/mysql \
    14. -e MYSQL_ROOT_PASSWORD=root \
    15. -d mysql:5.7

    进入到 MySQL 的命令行模式来给 root 账号授权所有 ip 能够访问。

    1. # 使用 MySQL 容器中的命令行
    2. docker exec -it mysql /bin/bash
    3. # 使用 MySQL 命令打开客户端:
    4. mysql -uroot -proot --default-character-set=utf8
    5. # 接着创建一个账户,该账号所有 IP 都能够访问
    6. grant all privileges on *.* to 'root' @'%' identified by 'root';
    7. # 刷新生效
    8. FLUSH PRIVILEGES;

    2、安装redis镜像

    拉取镜像

    docker pull redis

    本地创建一个配置文件/home/hff/software/docker/redis/conf/redis.conf

    1. bind 0.0.0.0
    2. protected-mode no
    3. port 6379
    4. daemonize no
    5. tcp-backlog 511
    6. timeout 0
    7. tcp-keepalive 0
    8. loglevel notice
    9. logfile ""
    10. databases 16
    11. save 900 1
    12. save 300 10
    13. save 60 10000
    14. stop-writes-on-bgsave-error yes
    15. rdbcompression yes
    16. rdbchecksum yes
    17. dbfilename dump.rdb
    18. dir ./
    19. requirepass root

     创建 redis 容器,并挂载配置

    1. docker run --name redis -p 6379:6379 -v /home/hff/software/docker/redis/data:/data -v /home/hff/software/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
    • –name : 容器名称
    • -p 端口映射 宿主机:容器
    • -v 挂载自定义配置 自定义配置:容器内部配置
    • -d 后台运行
    • redis-server 使用指定的配置文件启动

    进入redis

    docker exec -it redis redis-cli

    3、安装nacos

    拉取镜像

    docker pull nacos/nacos-server:v2.1.1
    

    创建挂载目录

    1. mkdir -p /home/hff/software/docker/nacos/conf
    2. mkdir -p /home/hff/software/docker/nacos/logs
    3. mkdir -p /home/hff/software/docker/nacos/data

    PS: -p 作用是在创建多级文件时,不存在某一级文件就会创建,存在就使用原文件

    启动nacos,复制相关文件到挂载目录

    docker run --name nacos -d -p 8848:8848 -e MODE=standalone  nacos/nacos-server:v2.1.1
    • docker run -d :启动容器, -d 表示后台启动并返回容器id
    • –name nacos :容器名称为nacos
    • -p 8848:8848 :容器相关端口号,“:”前为宿主机访问启动容器端口号,“:”后为容器端口号
    • -e MODE=standalone : 以单机版启动
    • nacos/nacos-server:v2.1.1 :启动容器的nacos镜

    (1)复制容器配置文件到宿主机

    1. docker cp nacos:/home/nacos/conf/ /home/hff/software/docker/nacos
    2. docker cp nacos:/home/nacos/logs/ /home/hff/software/docker/nacos
    3. docker cp nacos:/home/nacos/data/ /home/hff/software/docker/nacos

    PS:这里的本地文件没有加上conf,如果加上了会在conf下再创建一个conf,后面的同理。

    启动nacos

    1. docker run -d --name nacos \
    2. -p 8848:8848 \
    3. -p 9848:9848 \
    4. -p 9849:9849 \
    5. --env MODE=standalone \
    6. --env NACOS_AUTH_ENABLE=true \
    7. -v /home/hff/software/docker/nacos/conf:/home/nacos/conf \
    8. -v /home/hff/software/docker/nacos/logs:/home/nacos/logs \
    9. -v /home/hff/software/docker/nacos/data:/home/nacos/data \
    10. nacos/nacos-server:v2.1.1
    1. -d 表示运行在后台,--name 指定名称为nacos
    2. -p 8848:8848 前者为暴露给外部访问的端口,后者为nacos容器端口
    3. -p 9848:9848 9848是nacos2.0.0版本以上必须要加上端口映射
    4. -p 9849:9849 9849是nacos2.0.0版本以上必须要加上端口映射
    5. --env MODE=standalone nacos以单机版启动,默认为cluster(集群)
    6. --env NACOS_AUTH_ENABLE=true 如果使用官方镜像,请在启动docker容器时,添加如下环境变量
    7. -v /home/hff/software/docker/nacos/conf:/home/nacos/conf nacos 配置文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
    8. -v /home/hff/software/docker/nacos/logs:/home/nacos/logs nacos 日志文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
    9. -v /home/hff/software/docker/nacos/data:/home/nacos/data nacos 数据文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
    10. nacos/nacos-server:v2.1.1 指定 docker nacos 版本

    测试是否能成功访问

    http://192.168.253.110:8848/nacos

  • 相关阅读:
    Shell系统学习之循环结构
    第5关:爬取单页多个div标签的信息
    mac解决brew install报错“fatal: not in a git directory“
    大学各个专业介绍
    算法训练第五十七天
    Lwip之定时机制
    水溶性CuInS/ZnS 量子点 PL 550 nm--800 nm
    修改后的carrot_planner
    webstorm 去除注释空格
    Asp.Net Core Identity 多数据库支持
  • 原文地址:https://blog.csdn.net/m0_46568965/article/details/136174452