当前位置: 首页 > news >正文

广西网站建设哪家好朔州seo

广西网站建设哪家好,朔州seo,揭阳做网站哪个好,wordpress图片独立域名因为开发经常会用到一些组件,又不想在本地启动,所以买了个服务器,然后将这些组件都安装到服务器上以便开发使用。下面就记录下使用docker-compose安装组件的教程以及一些需要注意的地方。 关于docker和docker-compose的安装在另一篇博客中有…

因为开发经常会用到一些组件,又不想在本地启动,所以买了个服务器,然后将这些组件都安装到服务器上以便开发使用。下面就记录下使用docker-compose安装组件的教程以及一些需要注意的地方。

关于docker和docker-compose的安装在另一篇博客中有所讲解,不清楚的朋友可以先去看看,按照流程先装好docker程序。

https://blog.csdn.net/a_lllk/article/details/143382884

这里会每个容器生成一个单独的docker-compose.yml,如果需要同时安装多个容器的话。直接跳到最后的总结,复制整个yml然后再剔除自己不需要的。

1.redis

docker-compose安装redis比较简单,直接复制下面代码就可以搞定。

version: "3.3"
services:'redis':image: rediscontainer_name: redisenvironment:- TZ=Asia/Shanghaiports:- 6379:6379command: ["redis-server","/etc/redis/redis.conf"]volumes:- /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf - /usr/local/docker/redis/data:/var/lib/redis/- /usr/local/docker/redis/logs:/logsrestart: always 

用上面的文件生成的redis容器默认是没有密码的。如果redis需要设置密码或者其他的一些东西的话,这里就需要自定义一个配置文件。简易的配置文件内容如下,只需要将requirepass 后面的内容修改成自己的密码就可以了。

# Redis服务器配置 # 绑定IP地址
#解除本地限制 注释bind 127.0.0.1  
#bind 127.0.0.1  # 服务器端口号  
port 6379#配置密码,不要可以删掉
requirepass 123456#这个配置不要会和docker -d 命令 冲突
# 服务器运行模式,Redis以守护进程方式运行,默认为no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败,如果后面redis启动失败,就将这个注释掉
daemonize no#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定(自定义)
#pidfile /data/dockerData/redis/run/redis6379.pid  #默认为no,redis持久化,可以改为yes
appendonly yes#当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 60
# 服务器系统默认配置参数影响 Redis 的应用
maxclients 10000
tcp-keepalive 300#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改)
save 900 1
save 300 10
save 60 10000# 按需求调整 Redis 线程数
tcp-backlog 511

2.rabbitmq

下面是rabbitmq的compose内容。

version: "3.1"
services:rabbitmq:image: rabbitmqcontainer_name: "rabbitmq"restart: alwaysvolumes:- /usr/local/docker/rabbitmq/data/:/var/lib/rabbitmq/- /usr/local/docker/rabbitmq/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.confports:- 5672:5672- 15672:15672environment:RABBITMQ_DEFAULT_USER: rootRABBITMQ_DEFAULT_PASS: root

直接运行以上文件,就能生成rabbitmq容器。最下面两行"RABBITMQ_DEFAULT_USER"和

"RABBITMQ_DEFAULT_PASS"主要是用来登录管理页面的用户名和密码,可以按照自己的要求去修改。

现在新版本rabbitmq管理界面,默认是不会开启的。需要在容器中去执行启动管理页面的代码,才能够通过ip去访问管理页面。

输入下面代码进去容器内部

docker exec -it rabbitmq /bin/bash

执行以下代码开启管理页面

rabbitmq-plugins enable rabbitmq_management

输入代码后如果打印结果如下图所属,那么就表明管理界面已经开启了,可以通过

ip+:15672端口的形式去访问管理页面,输入上面定义的用户名和密码之后进入管理中心。

3.mysql

version: "3.3"
services:'mysql':image: mysql:8.0.27container_name: mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- TZ=Asia/Shanghaicommand: --default-authentication-plugin=mysql_native_password--collation-server=utf8mb4_general_ci--lower_case_table_names=1volumes:-  /usr/local/docker/mysql/data:/var/lib/mysql-  /usr/local/docker/mysql/logs:/var/log/mysql-  /usr/local/docker/mysql/init:/docker-entrypoint-initdb.d/-  /usr/local/docker/mysql/conf.d/:/etc/mysql/conf.d/ports:- 3306:3306restart: always
3.1 group by失效解决办法(1)

上面使用的是mysql8.0.27版本。mysql有个问题就是5.7以上的版本,禁用了“group by”方法。可以通过下面sql去查询。

select version(), @@sql_mode;

上面这个“sql_model”中存在“ONLY_FULL_GROUP_BY”,表示禁用了group_by。如果使用group_by会报以下错误。

1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sys.sys_config.variable' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

上面这个错误有两个解决办法,第一个就是执行下面sql。

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

这个方式确实可以解决这个问题。但是这种方法有一个问题,就是如果重启mysql,那么该设置就会失效,那么就引申出了下面第二种方式,修改mysql的配置文件,让该配置可以永久生效。

3.2 group by失效解决办法(2)

因为上面的docker-compose中挂载了mysql的配置文件目录,所以可以自定义一个配置文件。并放入mysql容器中。

我这里新建一个.cnf文件,命名为custom.cnf。

[mysqld]
# 设置客户端默认字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1
# sql_mode模式,去除ONLY_FULL_GROUP_BY
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

上面是文件内容,将配置文件上传到/usr/local/docker/mysql/conf.d/目录下。

注意:

这里上传了配置文件之后,如果直接去重启mysql,其实配置文件是不生效的。使用ls命令当前配置文件的权限为“-rw-rw-rw-”,也就是“666”,读写权限。这里配置文件拥有读写权限,mysql认为该配置文件是不安全的,所以在mysql中会被忽略。所以这里需要把配置文件的权限改为“644”,也就是“-rw-r-r-”权限,让配置文件只读就可以了。

chmod 644 custom.cnf

运行以上命令,配置文件的权限已经被改成了644,然后再重启mysql,发现配置文件已经生效,sql_model也已经被修改了。

可以再运行查询语句去验证

4.nacos

4.1简单安装

naocs的安装比较简单,运行下面文件生成nacos容器。

version: '3'
services:nacos:image: nacos/nacos-servercontainer_name: nacosenvironment:- PREFER_HOST_MODE=hostname- MODE=standaloneports:- 8848:8848- 9848:9848volumes:- /usr/local/docer/nacos/init.d/custom.properties:/home/nacos/init.d/custom.propertiesrestart: always

然后在浏览器中访问下面地址,进入nacos的管理页面。默认的用户名和密码都是nacos。

http://localhost:8848/nacos
4.2使用mysql作为数据源

因为我们上面已经安装了mysql,也可以使用它作为mysql的数据源。现在mysql中新建一个数据库,就将它命名为nacos。然后先运行下面的mysql文件,将表在数据库中建立。

/** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*//******************************************/
/*   数据库全名 = 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(128) 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,`encrypted_data_key` text NOT NULL COMMENT '秘钥',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(128) 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 '租户字段',`encrypted_data_key` text NOT NULL 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 '租户字段',`encrypted_data_key` text NOT NULL 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');

sql文件会在mysql中生成以下表。

下面是使用msql作为数据源的文件内容。注意修改mysql相关的信息。

SPRING_DATASOURCE_PLATFORM使用的数据源平台
MYSQL_SERVICE_HOSTmysql的主机地址
MYSQL_SERVICE_DB_NAMEmysql中数据库名称
NACOS_AUTH_IDENTITY_KEY登录nacos管理页面的用户名
NACOS_AUTH_IDENTITY_VALUE登录nacos管理页面的密码
version: "3.3"
services:'nacos':image: nacos/nacos-servercontainer_name: nacosenvironment:- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.0.1- MYSQL_SERVICE_DB_NAME=nacos- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false- NACOS_AUTH_IDENTITY_KEY=nacos- NACOS_AUTH_IDENTITY_VALUE=nacos- NACOS_AUTH_ENABLE=true- JVM_XMS=512m- JVM_XMX=512m- JVM_XMN=256mvolumes:- /usr/local/docker/nacos/logs/:/home/nacos/logs- /usr/local/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8848:8848- 9848:9848restart: always

然后运行上面的compose文件,发现nacos没有启动成功,然后查看运行日志发现报了下面错误,点击错误引导的页面

the length of secret key must great than or equal 32 bytes; And the secret key  must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

大概意思就是需要加一个密匙,然后根据自己版本复制里面的版本。

使用下面命令查看nacos的详情。

docker inspect nacos

因为我在docker-compose中并没有指定nacos的版本,所以当前默认下载最新的2.4.3版本。然后回到报错的提示页面。复制这里的2.1.0版本后面的信息。

修改文件信息如下,加一行这个

     -NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
 

然后删除当前报错的容器和挂载的目录,重新运行compose文件

version: "3.3"
services:'nacos':image: nacos/nacos-servercontainer_name: nacosenvironment:- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.1.246- MYSQL_SERVICE_DB_NAME=nacos- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false- NACOS_AUTH_IDENTITY_KEY=nacos- NACOS_AUTH_IDENTITY_VALUE=nacos- NACOS_AUTH_ENABLE=true- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789- JVM_XMS=512m- JVM_XMX=512m- JVM_XMN=256mvolumes:- /usr/local/docker/nacos/logs/:/home/nacos/logs- /usr/local/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8848:8848- 9848:9848restart: always

nacos运行成功,访问ip+8848/nacos,使用上面配置文件中的登录名和密码登录控制台。

这里可以尝试去权限控制-》用户列表中创建一个用户,然后去mysql数据库的users表中查看新增的用户是否存在,以便验证是否成功配置了mysql作为nacos的数据源。

5.nginx

docker创建nginx容器代码如下:

version: "3.3"
services:'nginx':image: nginxcontainer_name: nginxenvironment:- TZ=Asia/Shanghaivolumes:-  /usr/local/docker/nginx/html/:/usr/share/nginx/html/-  /usr/local/docker/nginx/logs:/var/log/nginxports:- 80:80- 443:443restart: always

docker安装nginx这里有个小问题,就是nginx容器中的配置文件是没有办法挂载到宿主机目录中的,如果强行挂载会报以下错误:

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/etc/nginx/nginx.conf" to rootfs at "/etc/nginx/nginx.conf": mount /etc/nginx/nginx.conf:/etc/nginx/nginx.conf (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

大概意思就是容器中/etc/nginx/nginx.conf文件没有办法挂载,所以如果我们需要修改nginx的配置文件,就需要将配置文件从容器中复制一份出来到宿主机中,然后修改完后再复制进容器中。nginx容器中的配置文件路径存放在/etc/nginx/nginx.conf

首先在宿主机容器中创建一个目录

mkdir usr/local/docker/nginx/conf

然后复制容器中的配置文件到该目录

docker cp nginx:/etc/conf/nginx.conf /usr/local/docker/nginx/conf/nginx.conf

然后在宿主机中对nginx的配置文件根据需要进行修改,修改完后使用命令再将文件复制到容器中

docker cp /usr/local/docker/nginx/conf/nginx.conf nginx:/etc/conf/nginx.conf

最后再重启nginx容器,使配置文件生效

docker restart nginx

访问下面页面,因为是使用的80端口,所以可以不加

http://localhost

显示如下,因为目录下面没有空的页面。

这里在/usr/local/docker/nginx/html/ 目录下建了个index.html。内容如下:

<h1>Hello Nginx!</h1>

然后重启nginx显示效果如下:

6.tomcat

tomcat比较简单,直接运行下面代码即可。

version: "3.3"
services:'tomcat':image: tomcat:9.0.7container_name: tomcatports:- "8080:8080"volumes:- /usr/local/docker/tomcat/webapps:/usr/local/tomcat/webappsrestart: always

创建好tomcat容器后,直接访问以下地址,会显示404

http://localhost:8080

进入tomcat容器中:

docker exec -it tomcat /bin/bash

然后执行以下复制命令

mv webapps.dist/* webapps/

然后exit;退出容器,重启tomcat容器

docker restart tomcat

继续访问8080端口,发现已经正常显示主页。

7.Portainer

compose文件内容如下:

version: "3.3"
services:'portainer':image: portainer/portainer-ce:2.13.0container_name: portainervolumes:- /var/run/docker.sock:/var/run/docker.sock- /usr/local/docker/portainer/data:/dataports:- 8000:8000- 9443:9443restart: always

运行后生成容器,然后访问下面地址:

https://localhost:9443

如果页面没有新增用户页面的话,需要重启下portainer。

在上面页面新增用户,密码的规则是大于等于12位,需要有特殊字符,大小写,而且要有数字。

创建好用户后会自动登录。就可以在container一页去查看及操作当前服务上的所有容器了。

8总结

上面就是使用docker去安装一些常用组件的教程.

1.上面教程里基本上都是没有指定版本,默认使用的最新版本(如果需要安装指定版本。需要在image后面加上对应的版本)

2.安装完容器后别忘记去打开对应的端口,否则外界可能无法访问容器。如果觉得每次去加权限很麻烦的话,可以尝试关闭防火墙。但是这种操作比较危险,不建议去做。如果实意需要关闭防火墙的话,记得每个容器都设置一个比较复杂的密码来确保音私信。

最后贴一个所有容器混合的一个docker-compose文件,如果需要安装多个容器可以直接复制这个文件,再剔除自己不需要的。

version: "3.3"
services:'mysql':image: mysql:8.0.27container_name: mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- TZ=Asia/Shanghaicommand: --default-authentication-plugin=mysql_native_password--collation-server=utf8mb4_general_ci--lower_case_table_names=1volumes:-  /usr/local/docker/mysql/data:/var/lib/mysql-  /usr/local/docker/mysql/logs:/var/log/mysql-  /usr/local/docker/mysql/init:/docker-entrypoint-initdb.d/-  /usr/local/docker/mysql/conf.d/:/etc/mysql/conf.d/ports:- 3306:3306restart: always'nacos':image: nacos/nacos-servercontainer_name: nacosenvironment:- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.1.246- MYSQL_SERVICE_DB_NAME=nacos- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false- NACOS_AUTH_IDENTITY_KEY=nacos- NACOS_AUTH_IDENTITY_VALUE=nacos- NACOS_AUTH_ENABLE=true- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789- JVM_XMS=512m- JVM_XMX=512m- JVM_XMN=256mvolumes:- /usr/local/docker/nacos/logs/:/home/nacos/logs- /usr/local/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8848:8848- 9848:9848restart: always'nginx':image: nginxcontainer_name: nginxenvironment:- TZ=Asia/Shanghaivolumes:-  /usr/local/docker/nginx/html/:/usr/share/nginx/html/-  /usr/local/docker/nginx/logs:/var/log/nginxports:- 80:80- 443:443restart: always'portainer':image: portainer/portainer-ce:2.13.0container_name: portainervolumes:- /var/run/docker.sock:/var/run/docker.sock-  /usr/local/docker/portainer/data:/dataports:- 8000:8000- 9443:9443restart: always'rabbitmq':image: rabbitmqcontainer_name: "rabbitmq"restart: alwaysvolumes:- /usr/local/docker/rabbitmq/data/:/var/lib/rabbitmq/- /usr/local/docker/rabbitmq/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.confports:- 5672:5672- 15672:15672environment:RABBITMQ_DEFAULT_USER: rootRABBITMQ_DEFAULT_PASS: root'redis':image: rediscontainer_name: redisenvironment:- TZ=Asia/Shanghaiports:- 6379:6379command: ["redis-server","/etc/redis/redis.conf"]volumes:- /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf - /usr/local/docker/redis/data:/var/lib/redis/- /usr/local/docker/redis/logs:/logsrestart: always 'tomcat':image: tomcatcontainer_name: tomcatports:- "8080:8080"volumes:- /usr/local/docker/tomcat/webapps:/usr/local/tomcat/webappsrestart: always

http://www.dinnco.com/news/25955.html

相关文章:

  • 男生可以做网站编辑工作吗网站建设报价明细表
  • 国内做家具外贸的网站有哪些洗发水营销推广软文800字
  • 宝鸡大学生做网站网站点击快速排名
  • 网络服务推广易下拉技巧威海seo公司
  • 北京欢迎你 网站建设南通seo网站优化软件
  • 学做网站论坛vip号码山西太原网络推广
  • 织梦 视频网站源码免费网络推广方式
  • 网站设计团队对seo的认识和理解
  • 自做网站好做吗亚洲长尾关键词挖掘
  • 帮别人做网站代写文章
  • 如何做旅游网站的思维导图网站域名查询
  • 可以做视频推广的网站网络广告策划案例
  • 有没有好玩的网页游戏网站seo优化方案策划书
  • 网站规划与建设报告怎么写域名注册网站有哪些
  • 企业营销型网站有特点社交媒体营销
  • 造价人员做兼职的网站百度seo服务公司
  • 马上飞做的一些网站网络软文发布
  • 网站设计联盟html简单网页成品
  • 在微信中做网站百度信息流怎么投放
  • 手机网站发布页电脑版免费b站推广网站
  • 合肥网站建设哪个好微信朋友圈软文大全
  • 西安网站制作平台注册网站免费注册
  • 济南网页设计企业网站优化公司
  • 在网站上做的图表怎么放到PPT里面制作网站的基本流程
  • 郑州网站建深圳优化怎么做搜索
  • 玉环做企业网站站长工具seo综合查询广告
  • 怎么找出网站的备案号媒体资源网
  • php网站语言切换功能如何做来客seo
  • 为什么做游戏网站被封seo全网优化推广
  • 做火锅加盟哪个网站好搜狗搜索网页版