云计算–Docker搭建Nacos以及搭建过程中常用的Docker命令
我们在之前已经介绍了Docker run命令去部署应用。今天我们通过安装Nacos来详细介绍一下docker的常用命令
Docker运行环境的组成
Docker运行环境由代码块、Docker主机(运行docker容器)的服务器和镜像仓库这3个主要部分组成,具体示意图如下:
Docker基础操作
获取镜像 docker pull
Docker官方提供了一个官方镜像仓:Docker Hub,在镜像仓中获取镜像的命令为 docker pull
其格式为:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
我们可以通过docker pull --help 查看docker pull的具体用法 :
docker pull --help
简写 | 默认值 | 简述 |
-a,–all-tags | ||
从镜像中拉取所有tag标签的镜像 | ||
–disable-content-trust | true | 默认忽略镜像校验 |
一般方式拉取镜像
一般我们在拉取镜像的时候,默认的tag为latest
例如我们拉取nacos:
docker pull nacos/nacos-server
但是一般我们不推荐这种方式,因为这样我们不知道镜像的版本到底是什么,适合我们自己简单测试的时候使用。
添加tag标签拉取镜像
我们还是以nacos为例,在Docker官方镜像仓寻找nacos镜像查看其
tags
然后拉取对于版本的镜像,比如我们拉取2.0.4版本的nacos
docker pull nacos/nacos-server:v2.0.4
拉取同一镜像库中相同镜像的,所有tags
如果我们因为想自己搭建私有库,需要从官方镜像仓拉取镜像然后推到我们自己的私有仓,我们可以使用docker pull --all-tags
拉取某一镜像所对于的所有标签镜像,例如拉取所有
docker pull --all-tags nacos/nacos-server
查看拉取的镜像 docker images
当我们拉取过镜像或者要查看Docker主机上有哪些镜像的时候我们可以使用docker images
查看镜像,其格式为:
docker images [OPTIONS] [REPOSITORY[:TAG]]
查看所有镜像列表
我们查看本地所有镜像的时候使用命令如下:
docker images -a
按照某种格式显示镜像
docker images --format
这是格式化展示镜像操作
Placeholder | 描述 |
.ID | 镜像ID |
.Repository | 镜像Repository |
.Tag | 镜像Tag |
.Digest | 镜像Digest |
.CreatedSince | 创建映像以来经过的时间 |
.CreatedAt | 创建时间 |
.Size | 镜像大小 |
docker images --format "{{.Repository}}:{{.Tag}}"
查看结果为:
运行镜像 docker run
使用Docker run 运行nacos
docker run --name nacos -it --rm \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ -e JVM_XMS=512m \ -e JVM_XMX=2048m \ -e MODE=standalone \ nacos/nacos-server:v2.0.4 /bin/bash
-p:指定端口映射
-e:设置启动时的环境变量
--name:设置容器名称
-it:这是两个参数不过经常一起使用,**-i:交互操作**,**-t**:为容器分配伪终端
–rm:这个表示容器退出后就删除容器,默认情况是不删除的,如果我们是自己测试玩,这样设置可以避免浪费空间
nacos的环境配置
name | description | option |
MODE | cluster模式/standalone模式 | cluster/standalone default cluster |
NACOS_SERVERS | nacos cluster地址 | eg. ip1,ip2,ip3 |
PREFER_HOST_MODE | 是否支持hostname | hostname/ip default ip |
NACOS_SERVER_PORT | nacos服务器端口 | default 8848 |
NACOS_SERVER_IP | 多网卡下的自定义nacos服务器IP |
PRING_DATASOURCE_PLATFORM | standalone 支持 mysql | mysql / empty default empty |
MYSQL_MASTER_SERVICE_HOST | mysql 主节点host |
MYSQL_MASTER_SERVICE_PORT | mysql 主节点端口 | default : 3306 |
MYSQL_MASTER_SERVICE_DB_NAME | mysql 主节点数据库 |
MYSQL_MASTER_SERVICE_USER | 数据库用户名 | |
MYSQL_MASTER_SERVICE_PASSWORD | 数据库密码 | |
MYSQL_SLAVE_SERVICE_HOST | mysql从节点host |
MYSQL_SLAVE_SERVICE_PORT | mysql从节点端口 | default :3306 |
MYSQL_DATABASE_NUM | 数据库数量 | default :2 |
JVM_XMS | -Xms | default :2g |
JVM_XMX | -Xmx | default :2g |
JVM_XMN | -Xmn | default :1g |
JVM_MS | -XX:MetaspaceSize | default :128m |
JVM_MMS | -XX:MaxMetaspaceSize | default :320m |
NACOS_DEBUG | 开启远程调试 | y/n default :n |
TOMCAT_ACCESSLOG_ENABLED | server.tomcat.accesslog.enabled | default :false |