Docker学习笔记

1.环境: centos8

  1. 官网地址:https://www.docker.com/
  2. 镜像地址:https://hub.docker.com

2.安装docker

  1. docker要求centos系统内核版本高于3.10,查看当前内核版本:

    uname -r
    
  2. 确保 yum 包更新到最新

    yum update
    
  3. 卸载旧版本(以前安装过)

    yum remove docker docker-common docker-selinux docker-engine
    
  4. 安装需要的软件包

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  5. 设置yum 源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  6. 查看所有仓库中docker版本,选择特定版本安装

     list docker-ce --showduplicates | sort -r
    
  7. 安装docker(repo中默认开启了stable仓库,这里安装最新稳定版17.12.0)

    yum install docker-ce
    
  8. 验证安装是否成功(有client和service两部分表示docker安装启动成功)

     docker version
    

3. 配置阿里云镜像加速器

因为docker-hub的镜像仓库站点在国外,访问很缓慢,为了加速pull镜像,d国内提供了加速站点。

登录阿里云账号(我用的是支付宝扫码登录),找到镜像地址
在这里插入图片描述
创建/etc/docker目录(若目录不存在):mkdir /etc/docker/
在这里插入图片描述
修改配置文件:vi /etc/docker/daemon.json
在这里插入图片描述

4. docker 常用命令

1. 帮助启动类命令

  1. 启动 docker:

    systemctl start docker
    
  2. 停止 docker:

    systemctl stop docker
    
  3. 重启 docker:

    systemctl restart docker
    
  4. 查看 docker状态:

    systemctl status docker
    
  5. 开机启动 docker:

    systemctl enable docker
    
  6. 查看 docker 概要信息:

    docker info
    
  7. docker 总体帮助文档:

    docker --help
    
  8. 查看 docker 命令帮助文档:

    docker 具体命令 --help
    

2. 镜像命令

  1. 列出本地主机上的镜像
    docker images
    
  2. 只显示镜像 ID
    docker images -q
    
  3. 搜索镜像
    docker search 镜像名字
    
  4. 拉取镜像
    docker pull 镜像名字[:TAG]
    
  5. 查看镜像/容器/数据卷所占的空间
    docker system df
    
  6. 删除镜像
    docker rmi 镜像名字/ID
    

3. 容器命令

  1. 新建并且启动容器
    在这里插入图片描述
    以交互式方式启动容器:

    docker run -it [--name=???] 镜像名字/ID /bin/bash
    
  2. 列出正在运行的容器

    docker ps
    
  3. 列出所有容器

    docker ps -a
    
  4. 从正在运行的容器中退出,但是不停止容器

    快捷键:ctl + p + q
    
  5. 从正在运行的容器退出,同时停止容器

    exit
    
  6. 停止正在运行的容器

    docker stop 容器ID/容器名
    
  7. 运行已经停止的容器

    docker start 容器ID
    
  8. 删除已经停止的容器
    若容器没用停止,则会报异常

    docker rm 容器ID
    
  9. 进入运行的容器
    方式一:

    docker exec -it 容器ID/容器名 /bin/bash
    

    在这里插入图片描述
    方式二:

    docker attach 容器ID
    

    区别:attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止;exec 是在容器中打开新的终端,且可以启动新的进程,用 exit 退出,不会导致容器的停止。

  10. 重启容器

    docker restart 容器ID/容器名
    
  11. 以后台静默方式运行容器(不是所有都可以)

    docker run -d 镜像名/镜像ID 
    
  12. 查看容器内部细节

    docker inspect 容器ID 
    
  13. 查看容器内运行的进程

    docker top 容器ID 
    
  14. 复制容器内文件到宿主机

    docker cp 容器ID:源文件路径 目的文件路径
    
  15. 导入和导出容器

    导出:docker export 容器ID > 取名.tar
    
    导入:cat 取名.tar | docker import - 包名/镜像名:镜像版本号
    

    在这里插入图片描述

  16. 设置容器自启

    //容器已经创建
    docker update --restart=always 容器名
    

4. 其他常用命令

  1. 生成镜像
    步骤一:先运行一个 ubuntu 容器

    docker run -it ubuntu /bin/bash
    

    步骤二:此时的 ubuntu 是没用 vim 功能,执行下列两条命令下载安装

    apt-get update
    
    apt-get -y install vim
    

    步骤三:此时当前容器已经可以使用 vim 了
    在这里插入图片描述
    步骤四:生成镜像
    在这里插入图片描述

    docker commit -m="消息" -a="作者" 镜像ID 镜像名
    

    步骤五:使用刚才生成的镜像来运行容器
    在这里插入图片描述


  2. 在这里插入图片描述

5. 将本地镜像推送到阿里云

  1. 登录阿里云,创建 个人容器实例(企业收费)
    在这里插入图片描述
  2. 创建命名空间
    在这里插入图片描述
  3. 选择命名空间,创建镜像仓库
    在这里插入图片描述
  4. 查看镜像仓库,复制此处的命令执行即可
    在这里插入图片描述
  5. 执行推送命令
    在这里插入图片描述
  6. 拉取阿里云上镜像并运行容器
    在这里插入图片描述

6. 将本地镜像推送到私服库

  1. 拉取最新私服库镜像

    docker pull registry
    
  2. 后台运行私服库容器

    docker run -d -p 5000:5000 -v /tmp/myregistry/:/tmp/registry --privileged=true registry
    
  3. 还是使用 ubuntu 来演示,运行一个ubuntu容器,并且安装 net-tools

    apt-get update
    
    apt-get install net-tools //之后就能使用ifconfig命令了
    
  4. commit 刚才的容器,生成新的镜像

    docker commit -m="ifconfig cmd add" -a="zjp" 容器ID zjpubuntu:1.0
    
  5. 查看本地 ip 地址

    ifconfig
    

    在这里插入图片描述

  6. 查看私服库里有哪些镜像

    curl -XGET http://172.17.0.1:5000/v2/_catalog
    
  7. 按照规范,给要上传到私服库的镜像重命名

    docker tag zjpubuntu:1.0 172.17.0.1:5000/zjpubuntu:1.0
    
  8. 修改 docker 配置文件

    vim /etc/docker/daemon.json
    
    //添加下面的内容
    "insecure-registries":["172.17.0.1:5000"]
    

    在这里插入图片描述

  9. 修改了配置文件,重启 docker

    systemctl restart docker
    
  10. 推送镜像
    在这里插入图片描述

    docker push 172.17.0.1:5000/zjpubuntu:1.0
    
  11. 再次查看私服库
    在这里插入图片描述

  12. 从私服库中拉取镜像

    docker pull 172.17.0.1:5000/zjpubuntu:1.0
    
  13. 测试运行拉取的镜像

7. 容器数据卷

  1. 使用命令v来挂载、privileged 打开权限

    docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=u1 ubuntu
    

    在这里插入图片描述

  2. 查看容器信息

    docker inspect 容器ID
    

    在这里插入图片描述

  3. 若要设置容器内只读,使用如下命令创建容器

    docker run -it --privileged=true -v /主机目录:/容器目录:ro ubuntu
    
  4. 容器卷之间的继承

    docker run -it --privileged=true --volumes-from 父容器 --name=u2 ubuntu
    

8.Docker 安装 MySQL

  1. 拉取mysql镜像

    docker pull mysql:8
    
  2. 通过目录挂载方式启动 mysql

    docker run -d -p 3306:3306 --privileged=true --name mysql \
    -v /root/mysql/conf:/etc/mysql/conf.d \
    -v /root/mysql/log:/var/log/mysql \
    -v /root/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=root mysql:8
    

    在这里插入图片描述

  3. 修改mysql配置文件,否则会中文乱码

    //1.进入配置文件挂载目录
    cd /root/mysql/conf
    
    //2.添加配置文件
    vi my.cnf 
    

    配置文件中添加如下内容:

    [client]
    default_character_set=utf8
    [mysqld]
    collation_server=utf8_general_ci
    character_set_server=utf8
    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d
    
    
  4. 重启并进入 mysql 容器

    docker restart mysql
    
    docker exec -it mysql /bin/bash
    
  5. 查看数据库

    mysql -uroot -proot
    
  6. 查看字符编码,可以看到都改为 utf8 了

    show variables like '%char%';
    

    在这里插入图片描述

  7. 在安全组中开放3306端口
    点击“配置规则”
    在这里插入图片描述
    开放端口
    在这里插入图片描述

  8. 本地(windows)navicat连接远程mysql
    在这里插入图片描述

  9. 设置 mysql 开机自启

    docker update --restart=always mysql
    

9.Docker 安装 Nacos

  1. 拉取nacos 镜像

    docker pull nacos/nacos-server:1.4.1
    
  2. 创建本地的映射文件 custom.properties,并且初始化

    mkdir -p /root/nacos/init.d /root/nacos/logs
    
    touch /root/nacos/init.d/custom.properties
    

    在 custom.properties 文件中写入以下配置

    vi /root/nacos/init.d/custom.properties
    
    management.endpoints.web.exposure.include=*
    
  3. 创建数据库 nacos_config

    create database nacos_config;
    
    use database nacos_config;
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info   */
    /******************************************/
    CREATE TABLE `config_info` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) NOT NULL COMMENT 'data_id',
      `group_id` varchar(255) DEFAULT NULL,
      `content` longtext NOT NULL COMMENT 'content',
      `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
      `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
      `src_user` text COMMENT 'source user',
      `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
      `app_name` varchar(128) DEFAULT NULL,
      `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
      `c_desc` varchar(256) DEFAULT NULL,
      `c_use` varchar(64) DEFAULT NULL,
      `effect` varchar(64) DEFAULT NULL,
      `type` varchar(64) DEFAULT NULL,
      `c_schema` text,
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info_aggr   */
    /******************************************/
    CREATE TABLE `config_info_aggr` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) NOT NULL COMMENT 'data_id',
      `group_id` varchar(255) NOT NULL COMMENT 'group_id',
      `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
      `content` longtext NOT NULL COMMENT '内容',
      `gmt_modified` datetime NOT NULL COMMENT '修改时间',
      `app_name` varchar(128) DEFAULT NULL,
      `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
    
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info_beta   */
    /******************************************/
    CREATE TABLE `config_info_beta` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) NOT NULL COMMENT 'data_id',
      `group_id` varchar(128) NOT NULL COMMENT 'group_id',
      `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
      `content` longtext NOT NULL COMMENT 'content',
      `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
      `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
      `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
      `src_user` text COMMENT 'source user',
      `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
      `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info_tag   */
    /******************************************/
    CREATE TABLE `config_info_tag` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) NOT NULL COMMENT 'data_id',
      `group_id` varchar(128) NOT NULL COMMENT 'group_id',
      `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
      `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
      `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
      `content` longtext NOT NULL COMMENT 'content',
      `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
      `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
      `src_user` text COMMENT 'source user',
      `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_tags_relation   */
    /******************************************/
    CREATE TABLE `config_tags_relation` (
      `id` bigint(20) NOT NULL COMMENT 'id',
      `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
      `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
      `data_id` varchar(255) NOT NULL COMMENT 'data_id',
      `group_id` varchar(128) NOT NULL COMMENT 'group_id',
      `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
      `nid` bigint(20) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`nid`),
      UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
      KEY `idx_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = group_capacity   */
    /******************************************/
    CREATE TABLE `group_capacity` (
      `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
      `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
      `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
      `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
      `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
      `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
      `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
      `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
      `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_group_id` (`group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = his_config_info   */
    /******************************************/
    CREATE TABLE `his_config_info` (
      `id` bigint(64) unsigned NOT NULL,
      `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
      `data_id` varchar(255) NOT NULL,
      `group_id` varchar(128) NOT NULL,
      `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
      `content` longtext NOT NULL,
      `md5` varchar(32) DEFAULT NULL,
      `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
      `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
      `src_user` text,
      `src_ip` varchar(20) DEFAULT NULL,
      `op_type` char(10) DEFAULT NULL,
      `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
      PRIMARY KEY (`nid`),
      KEY `idx_gmt_create` (`gmt_create`),
      KEY `idx_gmt_modified` (`gmt_modified`),
      KEY `idx_did` (`data_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
    
    
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = tenant_capacity   */
    /******************************************/
    CREATE TABLE `tenant_capacity` (
      `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
      `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
      `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
      `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
      `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
      `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
      `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
      `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
      `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
    
    
    CREATE TABLE `tenant_info` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `kp` varchar(128) NOT NULL COMMENT 'kp',
      `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
      `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
      `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
      `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
      `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
      `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
      KEY `idx_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
    
    CREATE TABLE users (
        username varchar(50) NOT NULL PRIMARY KEY,
        password varchar(500) NOT NULL,
        enabled boolean NOT NULL
    );
    
    CREATE TABLE roles (
        username varchar(50) NOT NULL,
        role varchar(50) NOT NULL,
        constraint uk_username_role UNIQUE (username,role)
    );
    
    CREATE TABLE permissions (
        role varchar(50) NOT NULL,
        resource varchar(512) NOT NULL,
        action varchar(8) NOT NULL,
        constraint uk_role_permission UNIQUE (role,resource,action)
    );
    
    INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
    
    INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
    
    
  4. 启动容器

    docker run -d -p 8848:8848  \
    -e MODE=standalone \
    -e PREFER_HOST_MODE=hostname \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=47.100.24.59 \
    -e MYSQL_SERVICE_PORT=3306 \
    -e MYSQL_SERVICE_DB_NAME=nacos_config \
    -e MYSQL_SERVICE_USER=root \
    -e MYSQL_SERVICE_PASSWORD=root \
    -e MYSQL_DATABASE_NUM=1 \
    -v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    -v /root/nacos/logs:/home/nacos/logs \
    --restart always --name nacos nacos/nacos-server:1.4.1
    
  5. 开放端口
    在这里插入图片描述

  6. 本地访问
    在这里插入图片描述

10. Docker 安装 Redis

  1. 拉取镜像

    docker pull redis
    
  2. 创建配置文件目录

    mkdir -p /root/redis/conf
    
    touch /root/redis/conf/redis.conf
    
  3. 启动

    docker run -p 6379:6379 --name redis \
    -v /root/redis/data:/data \
    -v /root/redis/conf/redis.conf:/etc/redis/redis.conf \
    -d redis redis-server /etc/redis/redis.conf
    
    # 直接进去redis客户端。
    docker exec -it redis redis-cli
    
  4. aof 持久化

    vim /root/redis/conf/redis.conf
    # 插入下面内容,保存
    appendonly yes
    
    #重启
    docker restart redis
    
    #设置redis容器在docker启动的时候启动
    docker update redis --restart=always
    
  5. 查看
    docker exec -it redis redis-cli
    在这里插入图片描述
    Redis 可视化软件----RedisDesktopManager
    在这里插入图片描述

11. docker 安装 tomcat8

  1. 拉取镜像

    docker pull tomcat:8
    
  2. 后台静默方式运行容器

    docker run -d -p 8080:8080 --name=tomcat tomcat:8
    
  3. 进入容器,修改 webapp 目录

    docker exec -it tomcat /bin/bash
    
    rm -r webapps
    
    mv webapps.dist webapps
    

    在这里插入图片描述

  4. 开放阿里云8080端口访问

  5. 本地浏览器访问
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值