linux基本命令 docker部署常用镜像

常用操作

防火墙操作

查看防火状态
	systemctl status firewalld
	service  iptables status
暂时关闭防火墙
	systemctl stop firewalld
	service  iptables stop
永久关闭防火墙
	systemctl disable firewalld
	chkconfig iptables off
重启防火墙
	systemctl enable firewalld
	service iptables restart
永久关闭后重启
	chkconfig iptables on

开放对应端口

查看9090端口是否开启
	firewall-cmd --query-port=1935/tcp
先开启防火墙
	systemctl start firewalld.service
开放指定端口
	firewall-cmd --zone=public --add-port=1935/tcp --permanent
#--zone #作用域
#--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
#--permanent  #永久生效,没有此参数重启后失效
重启防火墙
	firewall-cmd --reload
查看端口号
	netstat -ntlp   #查看当前所有tcp端口·
	netstat -ntulp |grep 1935   #查看所有1935端口使用情况·

安装jdk1.8

	yum install java-1.8.0-openjdk* -y

安装vim

	yum install vim -y

Centos7将/dev/mapper/centos-home磁盘空间转移到/dev/mapper/centos-root

	#查看磁盘空间,每个人的磁盘名称可能不同
	df -h
	
	#备份home文件
	tar cvf /tmp/home.tar /home
	
	#卸载/home,如果无法卸载,先终止使用/home文件系统的进程再卸载
	umount /home        #(卸载)
	fuser -km /home/ 		#(终止)
	
	#删除/home所在的lv
	lvremove /dev/mapper/centos-home
	
	#扩展/root所在的lv
	lvextend -L +50G /dev/mapper/centos-root
	
	#扩展/root文件系统
	xfs_growfs /dev/mapper/centos-root
	
	#重新创建home lv (创建时计算好剩余的磁盘容量,建议比剩余小1G左右,如果刚好和剩余容量一样可能会报错)
	lvcreate -L 50G -n /dev/mapper/centos-home 
	
	#创建文件系统
	mkfs.xfs /dev/mapper/centos-home
	
	#挂载home
	mount /dev/mapper/centos-home
	
	#home文件恢复
	tar xvf /tmp/home.tar -C /home/
	
	#查看磁盘空间
	df -TH

安装docker

	 yum 包更新到最新
		yum update -y
		
	 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动以来的
		yum install -y yum-utils device-mapper-persistent-data lvm2
		
	 设置yum源
		yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
		
	 安装docker 
		# 安装最新版
		yum install -y docker-ce
		# 指定版本安装
		yum -y install docker-ce-20.10.9-3.el7

	 启动 docker
	 	systemctl start docker 
	 
	 停止docker 
	 	systemctl stop docker 
	 #执行命令之后会出现如下提示:主要的意思就是docker已经停止了,但是可以随时被唤醒,所以使用docker命令就会启动
	 	Warning: Stopping docker.service, but it can still be activated by:
  		docker.socket
	 
	 重启docker 
	 	systemctl restart docker

	 设置开机自启
	 	systemctl enable docker

	 查看docker状态
	 	systemctl status docker
	 
	 查看docker版本信息
	 	# 简单信息
	 	docker -v
	 	# 查看docker的版本号,包括客户端、服务端、依赖的Go等
	 	docker version
	 	# 查看系统(docker)层面信息,包括管理的images, containers数等
	 	docker info
	 	
	 卸载docker
		#查看已安装的docker
		yum list installed|grep docker
		#卸载
		yum -y remove + 查看已安装的名字

docker常用命令

查看镜像
	docker images
搜索镜像
	docker search 镜像名称
拉取镜像
	docker pull 镜像名称:版本号
删除镜像
	docker rmi 镜像名称:版本号
镜像信息
	vim /var/lib/docker/image/overlay2/repositories.json
查看正在运行的容器
	docker ps
查看所有容器
	docker ps -a
创建容器
	docker run -d -p 1337:1337 \
        --network kong-net \
        --name konga \
        -e "NODE_ENV=production"  \
        -e "DB_ADAPTER=postgres" \
        -e "DB_URI=postgresql://kong:[email protected]:5432/konga" \
        pantsel/konga
eg: \是换行的意思
run参数:
-rm
	在容器退出时自动清理容器内部的文件系统
	在Docker容器退出时,默认容器内部的文件系统仍然被保留,以方便调试并保留用户数据.
	但是,对于前台运行的容器,由于其只是在开发调试过程中短期运行,其用户数据并无保留的必要.
	启动时设置-rm选项,这样在容器退出时就能够自动清理容器内部的文件系统.
-i 保持容器运行
-p 端口映射
-e 传递环境变量
-t 为容器重新分配一个伪输入终端
-d 以守护进程模式运行容器,退出后容器不会停止
-it创建一个交互式容器,推出后容器容器停止运行
-id创建一个守护容器;退出后容器不停止运行
–-name为创建的容器命名
进入容器
	docker exec -it 容器名称 /bin/bash
	
	#eg:进入一个叫konga的容器
	docker exec -it konga /bin/bash
	
	# 在容器中执行了一个ping命令
	ping 127.0.0.1
	
	# 退出当前容器
	exit
启动容器
	docker start 容器名称或者容器id 
停止容器
	docker stop 容器名称或者容器id 
删除容器
	docker rm 容器名称或者容器id 
删除所有容器
	docker rm `docker ps -aq`
停止所有容器
	docker stop $(docker ps -a -q)
查看容器详细信息
	docker inspect 容器名称
容器文件位置
	cd /var/lib/docker/containers
删除所有镜像
	rm -rf /var/lib/docker
网络模式
bridge:桥接docker(默认创建时,不指定网络驱动,将使用bridge模式)
none:不配置网络
host:和宿主机共享网络
例如:当你在容器上使用80端口访问其他应用,使用的是宿主机的80端口.
container:容器网络连通(用的少,局限很大)
查看docker下的网络列表
	docker network ls
	rm -rf /var/lib/docker
查看docker下的网络列表
	docker network ls
查看单个网络详细信息
	docker network inspect networkname
创建网络
	docker network ls
查看docker下的网络列表
#不指定网络驱动时,默认创建的是bridge网络.
	docker network create networkname
删除网络
	docker network rm networkname
日志相关
	docker logs [OPTIONS] CONTAINER
 Options参数
	--details: 显示更多的信息
	--follow(-f): 跟踪实时日志
	--since string: 显示自某个timestamp之后的日志,或相对时间,如40m(即40分钟)
	--tail string: 从日志末尾显示多少行日志, 默认是all
	--timestamps(-t): 显示时间戳
	--until string: 显示自某个timestamp之前的日志,或相对时间,如40m(即40分钟)
# 查看容器mysql 最近30分钟的日志:
	docker logs --since 30m mysql
# 查看容器mysql 某时间之后的日志:
	docker logs -t --since="2019-11-02T13:23:37" mysql
#查看容器mysql 某时间段日志:
	docker logs -t --since="2019-11-02T13:23:37" --until "2019-11-03T12:23:37" mysql
配置国内加速

菜鸟教程

docker 容器内部安装vim
#更新安装源: 
apt-get update
#安装vim: 
apt-get install vim

docker安装mysql8

拉取镜像
	docker pull mysql
创建对应目录
	用来映射外部文件 在/usr/local/docker/mysql下创建对应目录
	mkdir data
	mkdir conf
	mkdir logs
	mkdir mysql-files
	在conf中创建配置文件 my.cnf 内容如下
[mysqld]

#pid-file        = /var/run/mysqld/mysqld.pid

#socket          = /var/run/mysqld/mysqld.sock

#datadir         = /var/lib/mysql

#socket = /usr/mysql/mysqld.sock

#pid-file = /usr/mysql/mysqld.pid

datadir = /usr/local/docker/mysql/data

character_set_server = utf8mb4

collation_server = utf8mb4_bin

secure-file-priv= /var/lib/mysql

symbolic-links=0

!includedir /etc/mysql/conf.d/
给整个mysql目录赋权
	chmod -R 777 mysql/*
创建容器
docker run -itd --name mysql \
-v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql/log:/var/log/mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files/ \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=BdL2hv25meIFG8rQ mysql --lower_case_table_names=1
lower_case_table_names: 忽略大小写 ,mysql8 必须在这里配置 在配置文件中配置不会生效
修mysql密码以及可访问主机
进入容器
	docker exec -it mysql /bin/bash
连接mysql
	mysql -uroot -pBdL2hv25meIFG8rQ
使用mysql库
	use mysql
修改访问主机以及密码等,设置为所有主机可访问
	# mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接
	ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'BdL2hv25meIFG8rQ';
刷新
	flush privileges;

docker 安装nacos

拉取镜像
	docker pull nacos/nacos-server
nacos sql
/*
 * 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(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) 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 CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) 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 CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) 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 CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP 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 CURRENT_TIMESTAMP,
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` text,
  `src_ip` varchar(50) 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 CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP 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,
	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
启动容器
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=数据库ip \
-e MYSQL_SERVICE_PORT=数据库端口 \
-e MYSQL_SERVICE_USER=数据库用户名 \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e MYSQL_SERVICE_DB_NAME=数据库 \
-p 8848:8848 \
--name nacos \
nacos/nacos-server
低版本nacos不支持mysql8 需要自己拉取源码修改

docker 安装redis

拉取镜像
	docker pull redis
创建目录 /usr/local/docker/redis/data 并赋权 
	chown -R 755 /usr/local/docker/redis/*
启动容器
	# requirepass 设置密码 
	docker run -itd -v /usr/local/docker/redis/data:/data --name redis -p 6379:6379 redis --requirepass 4W7mgMQe5XIC1viI 

docker安装mysql5.7

下载mysql镜像
	docker pull mysql:5.7
创建目录
	cd /usr/local
	/docker/mysql57
赋权
	chmod -R 755 文件夹名
启动mysql
	docker run -p 3306:3306 --name mysql57 -v  /usr/local/docker/mysql57/logs:/logs -v  /usr/local/docker/mysql57/data:/var/lib/mysql -e  MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

docker安装tomcat

查询redis镜像
	docker search tomcat
安装最新镜像
	docker pull tomcat:latest
创建目录
	cd /usr/local/docker/
	mkdir tomcat
赋权
	chown  -R 755 tomcat/
 将war包上传到/usr/local/docker/tomcat/目录下
启动tomcat
	docker run -itd  --privileged=true -v /usr/local/docker/tomcat/:/usr/local/tomcat/webapps/  -p 38702:8080 tomcat
	
	nohup java -jar ruoyi-admin.jar & 
查看日志
首先进入容器
命令格式为:docker exec -it +容器id +命令
	docker exec -ti 镜像的id /bin/bash
在容器内进入日志目录 
	cd /home/edt/logs/

docker安装nginx

拉取Nginx镜像
	docker pull nginx:latest
创建文件夹及设置权限
	mkdir -p /data/nginx
	mkdir -p /data/nginx/conf.d
	mkdir -p /data/wwwroot/html
	chown -R 1000:1000 /data/nginx
在/data/nginx创建nginx.conf
	cd /data/nginx
	vim /data/nginx/nginx.conf
内容可以从nginx官网下载或者直接使用下面配置
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    client_max_body_size 20m;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
     
    gzip  on;
    gzip_buffers 32 4K;
    gzip_comp_level 6;
    gzip_min_length 100;
    gzip_types application/javascript text/css text/xml;
    #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip_disable "MSIE [1-6]\."; 
    gzip_vary on;

    include /etc/nginx/conf.d/*.conf;
}
创建容器
docker run --name nginx --restart=always -p 80:80 \
	--network=host \
	-v /data/nginx/conf.d:/etc/nginx/conf.d \
	-v /data/nginx/nginx.conf:/etc/nginx/nginx.conf \
	-v /data/nginx/logs:/var/log/nginx \
	-v /data/nginx/cert:/etc/nginx/cert \
	-v /data/wwwroot:/data/wwwroot \
	-d nginx
进入目录/data/nginx/conf.d
	cd /data/nginx/conf.d
	
	vim /data/nginx/conf.d/default.conf
编辑default.conf配置文件
#配置内容如下
server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /data/wwwroot/html;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
切换到以下目录:
	cd /data/wwwroot/html
	
	vim /data/wwwroot/html/50x.html
创建50x.html、index.html文件(该步骤可省略)
#50x.html
<!DOCTYPE html>


Error<<span class="token operator">/</span>title>
<style>
    body <span class="token punctuation">{</span>
        width: 35em<span class="token punctuation">;</span>
        margin: 0 auto<span class="token punctuation">;</span>
        font<span class="token operator">-</span>family: Tahoma<span class="token punctuation">,</span> Verdana<span class="token punctuation">,</span> Arial<span class="token punctuation">,</span> sans<span class="token operator">-</span>serif<span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<<span class="token operator">/</span>style>
<<span class="token operator">/</span>head>
<body>
<h1>An error occurred<span class="token punctuation">.</span><<span class="token operator">/</span>h1>
<p>Sorry<span class="token punctuation">,</span> the page you are looking <span class="token keyword">for</span> is currently unavailable<span class="token punctuation">.</span><br<span class="token operator">/</span>>
Please <span class="token keyword">try</span> again later<span class="token punctuation">.</span><<span class="token operator">/</span>p>
<p><span class="token keyword">If</span> you are the system administrator of this resource then you should check
the error log <span class="token keyword">for</span> details<span class="token punctuation">.</span><<span class="token operator">/</span>p>
<p><em>Faithfully yours<span class="token punctuation">,</span> nginx<span class="token punctuation">.</span><<span class="token operator">/</span>em><<span class="token operator">/</span>p>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <pre><code class="prism language-powershell">	vim <span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>wwwroot<span class="token operator">/</span>html<span class="token operator">/</span>50x<span class="token punctuation">.</span>html
</code></pre> 
  <pre><code class="prism language-powershell">	<span class="token comment">#index.html</span>
<<span class="token operator">!</span>DOCTYPE html>
<html>
<head>
<title>Welcome to nginx<span class="token operator">!</span><<span class="token operator">/</span>title>
<style>
    body <span class="token punctuation">{</span>
        width: 35em<span class="token punctuation">;</span>
        margin: 0 auto<span class="token punctuation">;</span>
        font<span class="token operator">-</span>family: Tahoma<span class="token punctuation">,</span> Verdana<span class="token punctuation">,</span> Arial<span class="token punctuation">,</span> sans<span class="token operator">-</span>serif<span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<<span class="token operator">/</span>style>
<<span class="token operator">/</span>head>
<body>
<h1>Welcome to nginx<span class="token operator">!</span><<span class="token operator">/</span>h1>
<p><span class="token keyword">If</span> you see this page<span class="token punctuation">,</span> the nginx web server is successfully installed and
working<span class="token punctuation">.</span> Further configuration is required<span class="token punctuation">.</span><<span class="token operator">/</span>p>

<p><span class="token keyword">For</span> online documentation and support please refer to
<a href=<span class="token string">"http://nginx.org/"</span>>nginx<span class="token punctuation">.</span>org<<span class="token operator">/</span>a><span class="token punctuation">.</span><br<span class="token operator">/</span>>
Commercial support is available at
<a href=<span class="token string">"http://nginx.com/"</span>>nginx<span class="token punctuation">.</span>com<<span class="token operator">/</span>a><span class="token punctuation">.</span><<span class="token operator">/</span>p>

<p><em>Thank you <span class="token keyword">for</span> <span class="token keyword">using</span> nginx<span class="token punctuation">.</span><<span class="token operator">/</span>em><<span class="token operator">/</span>p>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <h5>重启容器</h5> 
  <pre><code class="prism language-powershell">	docker restart nginx
</code></pre> 
  <h5>访问页面域名或者ip,出现以下界面即为成功</h5> 
  <pre><code class="prism language-html">index.html
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.
</code></pre> 
  <h2>docker安装jenkins</h2> 
  <h5>拉取镜像</h5> 
  <pre><code class="prism language-powershell">	docker pull jenkins
</code></pre> 
  <h5>启动容器</h5> 
  <pre><code class="prism language-powershell">docker run \
  <span class="token operator">-</span>u root \
  <span class="token operator">-</span>d \
  <span class="token operator">--</span>name jenkins \
  <span class="token operator">-</span>p 8080:8080 \
  <span class="token operator">-</span>p 50000:50000 \
  <span class="token operator">-</span>v <span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>jenkins_home:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>jenkins_home \
  <span class="token operator">-</span>v <span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>run<span class="token operator">/</span>docker<span class="token punctuation">.</span>sock:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>run<span class="token operator">/</span>docker<span class="token punctuation">.</span>sock \
  <span class="token operator">-</span>v <span class="token operator">/</span>etc<span class="token operator">/</span>localtime:<span class="token operator">/</span>etc<span class="token operator">/</span>localtime \
  jenkinsci<span class="token operator">/</span>blueocean
</code></pre> 
  <pre><code>访问 ip:8080进入页面,需要输入初始化密码安装完成后,
根据页面提示从指定文件获取初始密码,因为jenkins容器
的目录已经挂载到宿主机的/data/jenkins_home目录,可以
直接从/data/jenkins_home/secrets/initialAdminPassword获取
</code></pre> 
  <pre><code class="prism language-powershell">	<span class="token function">cat</span> <span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>jenkins_home<span class="token operator">/</span>secrets<span class="token operator">/</span>initialAdminPassword
</code></pre> 
  <h5>安装插件</h5> 
  <pre><code>插件路径:[Jenkins] -> [系统管理] -> [插件管理]
安装 所有SSH插件、所有git插件、所有maven插件
</code></pre> 
  <h5>全局参数配置</h5> 
  <pre><code>全局工具配置路径:[Jenkins] -> [系统管理] -> [全局工具配置]
安装JDK、Maven、Node、Git,可以选择自动安装,jenkins会帮助下载安装配置,也可以手动安装,安装完之后需要再指定安装目录
注意:因为这边是选择自动安装,所以在第一次构建任务安装maven后,再来配置maven的默认全局 settings路径
(插件安装路径:/var/jenkins_home/tools,可以在构建任务的”控制台输出“的详细信息中找到)
</code></pre> 
  <h5>系统配置</h5> 
  <pre><code>系统配置路径:[Jenkins] -> [系统管理] -> [系统配置]
配置ssh server,主要填写主机地址、端口、用户名、密码、部署服务的远程目录等信息;
</code></pre> 
  <h2>安装seata</h2> 
  <h5>拉取容器</h5> 
  <pre><code class="prism language-powershell"> 	docker pull seataio<span class="token operator">/</span>seata<span class="token operator">-</span>server:1<span class="token punctuation">.</span>2<span class="token punctuation">.</span>0
</code></pre> 
  <h5>启动容器</h5> 
  <pre><code class="prism language-powershell">	docker run <span class="token operator">-</span>d <span class="token operator">--</span>name seata<span class="token operator">-</span>server <span class="token operator">-</span>p 8091:8091 <span class="token operator">-</span>d  <span class="token operator">-</span>e SEATA_IP=ip  seataio<span class="token operator">/</span>seata<span class="token operator">-</span>server:1<span class="token punctuation">.</span>2<span class="token punctuation">.</span>0
</code></pre> 
  <h5>将docker文件拷贝到宿主机</h5> 
  <pre><code class="prism language-powershell">	docker <span class="token function">cp</span> seata<span class="token operator">-</span>server:<span class="token operator">/</span>seata<span class="token operator">-</span>server<span class="token operator">/</span>resources <span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>seata<span class="token operator">-</span>service
</code></pre> 
  <h5>进入到拷贝出的配置文件路径</h5> 
  <pre><code class="prism language-powershell">	 cd <span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>seata<span class="token operator">-</span>service
</code></pre> 
  <h5>修改file.conf配置文件</h5> 
  <pre><code class="prism language-powershell">	 <span class="token comment">## transaction log store, only used in seata-server</span>
    store <span class="token punctuation">{</span>
      <span class="token comment">## store mode: file、db</span>
      mode = <span class="token string">"db"</span>
    
      <span class="token comment">## file store property</span>
      file <span class="token punctuation">{</span>
        <span class="token comment">## store location dir</span>
        <span class="token function">dir</span> = <span class="token string">"sessionStore"</span>
        <span class="token comment"># branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions</span>
        maxBranchSessionSize = 16384
        <span class="token comment"># globe session size , if exceeded throws exceptions</span>
        maxGlobalSessionSize = 512
        <span class="token comment"># file buffer size , if exceeded allocate new buffer</span>
        fileWriteBufferCacheSize = 16384
        <span class="token comment"># when recover batch read size</span>
        sessionReloadReadSize = 100
        <span class="token comment"># async, sync</span>
        flushDiskMode = async
      <span class="token punctuation">}</span>
    
      <span class="token comment">## database store property</span>
     db <span class="token punctuation">{</span>
        <span class="token comment">## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp)/HikariDataSource(hikari) etc.</span>
        datasource = <span class="token string">"druid"</span>
        <span class="token comment">## mysql/oracle/postgresql/h2/oceanbase etc.</span>
        dbType = <span class="token string">"mysql"</span>
        driverClassName = <span class="token string">"com.mysql.cj.jdbc.Driver"</span>
        <span class="token comment">## if using mysql to store the data, recommend add rewriteBatchedStatements=true in jdbc connection param</span>
        url = <span class="token string">"jdbc:mysql://ip:host/seata-server?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"</span>
        user = <span class="token string">"user"</span>
        password = <span class="token string">"password"</span>
        minConn = 5
        maxConn = 100
        globalTable = <span class="token string">"global_table"</span>
        branchTable = <span class="token string">"branch_table"</span>
        lockTable = <span class="token string">"lock_table"</span>
        queryLimit = 100
        maxWait = 5000
      <span class="token punctuation">}</span>
    
    <span class="token punctuation">}</span>
</code></pre> 
  <h5>修改registry.conf配置文件</h5> 
  <pre><code class="prism language-powershell">	 registry <span class="token punctuation">{</span>
      <span class="token comment"># file 、nacos 、eureka、redis、zk、consul、etcd3、sofa</span>
      <span class="token function">type</span> = <span class="token string">"nacos"</span>
    	<span class="token comment">#nacos相关配置</span>
    	  nacos <span class="token punctuation">{</span>
    		application = <span class="token string">"seata-server"</span>
    		serverAddr = <span class="token string">"ip:host"</span>
    		<span class="token function">group</span> = <span class="token string">"SEATA_GROUP"</span>
    		namespace = <span class="token string">"1d7d9d31-60d4-4a92-8779-9354499caefd"</span>
    		cluster = <span class="token string">"default"</span>
    		username = <span class="token string">""</span>
    		password = <span class="token string">""</span>
    	  <span class="token punctuation">}</span>
    	  eureka <span class="token punctuation">{</span>
    		serviceUrl = <span class="token string">"http://localhost:8761/eureka"</span>
    		application = <span class="token string">"default"</span>
    		weight = <span class="token string">"1"</span>
    	  <span class="token punctuation">}</span>
    	  redis <span class="token punctuation">{</span>
    		serverAddr = <span class="token string">"localhost:6379"</span>
    		db = 0
    		password = <span class="token string">""</span>
    		cluster = <span class="token string">"default"</span>
    		timeout = 0
    	  <span class="token punctuation">}</span>
    	  zk <span class="token punctuation">{</span>
    		cluster = <span class="token string">"default"</span>
    		serverAddr = <span class="token string">"127.0.0.1:2181"</span>
    		sessionTimeout = 6000
    		connectTimeout = 2000
    		username = <span class="token string">""</span>
    		password = <span class="token string">""</span>
    	  <span class="token punctuation">}</span>
    	  consul <span class="token punctuation">{</span>
    		cluster = <span class="token string">"default"</span>
    		serverAddr = <span class="token string">"127.0.0.1:8500"</span>
    	  <span class="token punctuation">}</span>
    	  etcd3 <span class="token punctuation">{</span>
    		cluster = <span class="token string">"default"</span>
    		serverAddr = <span class="token string">"http://localhost:2379"</span>
    	  <span class="token punctuation">}</span>
    	  sofa <span class="token punctuation">{</span>
    		serverAddr = <span class="token string">"127.0.0.1:9603"</span>
    		application = <span class="token string">"default"</span>
    		region = <span class="token string">"DEFAULT_ZONE"</span>
    		datacenter = <span class="token string">"DefaultDataCenter"</span>
    		cluster = <span class="token string">"default"</span>
    		<span class="token function">group</span> = <span class="token string">"SEATA_GROUP"</span>
    		addressWaitTime = <span class="token string">"3000"</span>
    	  <span class="token punctuation">}</span>
    	  file <span class="token punctuation">{</span>
    		name = <span class="token string">"file.conf"</span>
    	  <span class="token punctuation">}</span>
    	config <span class="token punctuation">{</span>
    	  <span class="token comment"># file、nacos 、apollo、zk、consul、etcd3</span>
    	  <span class="token function">type</span> = <span class="token string">"nacos"</span>
    
    	  nacos <span class="token punctuation">{</span>
    			  serverAddr = <span class="token string">"ip:host"</span>
    			  <span class="token function">group</span> = <span class="token string">"DEFAULT_GROUP"</span>
    			  namespace = <span class="token string">"1d7d9d31-60d4-4a92-8779-9354499caefd"</span>
    			  cluster = <span class="token string">"default"</span>
    			  username = <span class="token string">""</span>
    			  password = <span class="token string">""</span>   
    	  <span class="token punctuation">}</span>
    	  consul <span class="token punctuation">{</span>
    		serverAddr = <span class="token string">"127.0.0.1:8500"</span>
    	  <span class="token punctuation">}</span>
    	  apollo <span class="token punctuation">{</span>
    		appId = <span class="token string">"seata-server"</span>
    		apolloMeta = <span class="token string">"http://ip:8801"</span>
    		namespace = <span class="token string">"application"</span>
    	  <span class="token punctuation">}</span>
    	  zk <span class="token punctuation">{</span>
    		serverAddr = <span class="token string">"127.0.0.1:2181"</span>
    		sessionTimeout = 6000
    		connectTimeout = 2000
    		username = <span class="token string">""</span>
    		password = <span class="token string">""</span>
    	  <span class="token punctuation">}</span>
    	  etcd3 <span class="token punctuation">{</span>
    		serverAddr = <span class="token string">"http://localhost:2379"</span>
    	  <span class="token punctuation">}</span>
    	  file <span class="token punctuation">{</span>
    		name = <span class="token string">"file.conf"</span>
    	  <span class="token punctuation">}</span>
    	<span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
</code></pre> 
  <h5>将修改好的配置文件拷贝到docker容器</h5> 
  <pre><code class="prism language-powershell">	docker <span class="token function">cp</span> registry<span class="token punctuation">.</span>conf seata<span class="token operator">-</span>server:<span class="token operator">/</span>seata<span class="token operator">-</span>server<span class="token operator">/</span>resources
    docker <span class="token function">cp</span> file<span class="token punctuation">.</span>conf seata<span class="token operator">-</span>server:<span class="token operator">/</span>seata<span class="token operator">-</span>server<span class="token operator">/</span>resources
</code></pre> 
  <h5>重启seata-server容器</h5> 
  <pre><code class="prism language-powershell">	 docker restart seata<span class="token operator">-</span>server
</code></pre> 
  <h5>查看日志确定当前容器是否启动成功</h5> 
  <pre><code class="prism language-powershell">	 docker logs <span class="token operator">-</span>f <span class="token operator">-</span>t <span class="token operator">--</span>tail 300 seata<span class="token operator">-</span>server
</code></pre> 
  <h5>启动成功日志如下</h5> 
  <pre><code class="prism language-powershell">	 2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:25:03<span class="token punctuation">.</span>932639708Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:25:03<span class="token punctuation">.</span>929 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>server<span class="token punctuation">.</span>ParameterParser<span class="token punctuation">.</span>init:90 <span class="token operator">-</span>The server is running in container<span class="token punctuation">.</span>
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:25:03<span class="token punctuation">.</span>988965910Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:25:03<span class="token punctuation">.</span>987 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>config<span class="token punctuation">.</span>FileConfiguration<span class="token punctuation">.</span><init>:121 <span class="token operator">-</span>The configuration file used is registry<span class="token punctuation">.</span>conf
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:25:04<span class="token punctuation">.</span>016571862Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:25:04<span class="token punctuation">.</span>016 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>config<span class="token punctuation">.</span>FileConfiguration<span class="token punctuation">.</span><init>:121 <span class="token operator">-</span>The configuration file used is file<span class="token punctuation">.</span>conf
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:25:05<span class="token punctuation">.</span>296386746Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:25:05<span class="token punctuation">.</span>295 INFO <span class="token namespace">[main]</span>com<span class="token punctuation">.</span>alibaba<span class="token punctuation">.</span>druid<span class="token punctuation">.</span>pool<span class="token punctuation">.</span>DruidDataSource<span class="token punctuation">.</span>init:947 <span class="token operator">-</span><span class="token punctuation">{</span>dataSource<span class="token operator">-</span>1<span class="token punctuation">}</span> inited
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:25:05<span class="token punctuation">.</span>530374240Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:25:05<span class="token punctuation">.</span>529 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>core<span class="token punctuation">.</span>rpc<span class="token punctuation">.</span>netty<span class="token punctuation">.</span>RpcServerBootstrap<span class="token punctuation">.</span><span class="token function">start</span>:155 <span class="token operator">-</span>Server started <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> 
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:28:11<span class="token punctuation">.</span>138642684Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:28:11<span class="token punctuation">.</span>137 INFO <span class="token namespace">[ShutdownHook]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>core<span class="token punctuation">.</span>rpc<span class="token punctuation">.</span>netty<span class="token punctuation">.</span>RpcServer<span class="token punctuation">.</span>destroy:69 <span class="token operator">-</span>destroyed rpcServer
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:28:13<span class="token punctuation">.</span>319503007Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:28:13<span class="token punctuation">.</span>316 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>server<span class="token punctuation">.</span>ParameterParser<span class="token punctuation">.</span>init:90 <span class="token operator">-</span>The server is running in container<span class="token punctuation">.</span>
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:28:13<span class="token punctuation">.</span>378379605Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:28:13<span class="token punctuation">.</span>376 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>config<span class="token punctuation">.</span>FileConfiguration<span class="token punctuation">.</span><init>:121 <span class="token operator">-</span>The configuration file used is registry<span class="token punctuation">.</span>conf
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:28:13<span class="token punctuation">.</span>400914066Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:28:13<span class="token punctuation">.</span>400 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>config<span class="token punctuation">.</span>FileConfiguration<span class="token punctuation">.</span><init>:121 <span class="token operator">-</span>The configuration file used is file<span class="token punctuation">.</span>conf
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:28:14<span class="token punctuation">.</span>683544245Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:28:14<span class="token punctuation">.</span>682 INFO <span class="token namespace">[main]</span>com<span class="token punctuation">.</span>alibaba<span class="token punctuation">.</span>druid<span class="token punctuation">.</span>pool<span class="token punctuation">.</span>DruidDataSource<span class="token punctuation">.</span>init:947 <span class="token operator">-</span><span class="token punctuation">{</span>dataSource<span class="token operator">-</span>1<span class="token punctuation">}</span> inited
    2021<span class="token operator">-</span>08<span class="token operator">-</span>19T03:28:14<span class="token punctuation">.</span>901163968Z 2021<span class="token operator">-</span>08<span class="token operator">-</span>19 03:28:14<span class="token punctuation">.</span>900 INFO <span class="token namespace">[main]</span>io<span class="token punctuation">.</span>seata<span class="token punctuation">.</span>core<span class="token punctuation">.</span>rpc<span class="token punctuation">.</span>netty<span class="token punctuation">.</span>RpcServerBootstrap<span class="token punctuation">.</span><span class="token function">start</span>:155 <span class="token operator">-</span>Server started <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
</code></pre> 
  <h5>将修改好的配置文件拷贝到docker容器</h5> 
  <pre><code class="prism language-powershell">	 nohup <span class="token punctuation">.</span><span class="token operator">/</span>seata<span class="token operator">-</span>server<span class="token punctuation">.</span>sh <span class="token operator">-</span>h ip <span class="token operator">-</span>p 8091  >log<span class="token punctuation">.</span>out 2>1 &
</code></pre> 
  <h5>解决脚本运行失败问题</h5> 
  <pre><code class="prism language-powershell">	 sh nacos<span class="token operator">-</span>config<span class="token punctuation">.</span>sh <span class="token operator">-</span>h ip <span class="token operator">-</span>p 8848 <span class="token operator">-</span>g SEATA_GROUP <span class="token operator">-</span>t 7c43eda4<span class="token operator">-</span>1e24<span class="token operator">-</span>4e77<span class="token operator">-</span>89ef<span class="token operator">-</span>9b7efc5c889e
</code></pre> 
  <h5>开放seata端口</h5> 
  <pre><code class="prism language-powershell">	 firewall<span class="token operator">-</span>cmd <span class="token operator">--</span><span class="token function">add-port</span>=8091<span class="token operator">/</span>tcp <span class="token operator">--</span>permanent
    firewall<span class="token operator">-</span>cmd <span class="token operator">--</span>reload
</code></pre> 
  <h2>docker安装mongo</h2> 
  <h5>拉取镜像</h5> 
  <pre><code class="prism language-powershell">	docker pull mongo
</code></pre> 
  <h5>创建对应文件夹 和 配置文件</h5> 
  <pre><code>/usr/local/docker/mongo/data  /usr/local/docker/mongo/conf /usr/local/docker/mongo/log
conf 下创建mongodb.conf 配置文件 内容如下:
</code></pre> 
  <pre><code class="prism language-powershell">port=27017
<span class="token comment">#数据库文件存放目录</span>
dbpath=<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>docker<span class="token operator">/</span>mongo<span class="token operator">/</span><span class="token keyword">data</span>
<span class="token comment">#日志文件存放路径</span>
logpath=<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>docker<span class="token operator">/</span>mongo<span class="token operator">/</span>log
<span class="token comment">#使用追加方式写日志</span>
logappend=true
<span class="token comment">#以守护线程的方式运行,创建服务器进程</span>
fork=true
<span class="token comment">#最大同时连接数</span>
maxConns=100
<span class="token comment">#不启用验证</span>
<span class="token comment">#noauth=true</span>
<span class="token comment">#每次写入会记录一条操作日志</span>
journal=true
<span class="token comment">#存储引擎有mmapv1、wiredTiger、mongorocks</span>
storageEngine=wiredTiger
<span class="token comment">#访问IP</span>
bind_ip=0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0
<span class="token comment">#用户验证</span>
<span class="token comment">#auth=true</span>
</code></pre> 
  <h5>启动容器</h5> 
  <pre><code class="prism language-powershell">docker run <span class="token operator">-</span>d <span class="token operator">-</span>p 27017:27017 <span class="token operator">-</span>v <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>docker<span class="token operator">/</span>mongo<span class="token operator">/</span><span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>db <span class="token operator">-</span>v <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>docker<span class="token operator">/</span>mongo<span class="token operator">/</span>conf:<span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>conf <span class="token operator">-</span>v <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>docker<span class="token operator">/</span>mongo<span class="token operator">/</span>log:<span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>log <span class="token operator">--</span>name mongo mongo
</code></pre> 
  <h2>docker安装 rabbitmq</h2> 
  <h5>拉取镜像</h5> 
  <pre><code class="prism language-powershell">docker pull rabbitmq:management
</code></pre> 
  <h5>启动容器</h5> 
  <pre><code class="prism language-powershell">docker run <span class="token operator">-</span>d <span class="token operator">--</span>name rabbitmq <span class="token operator">-</span>e RABBITMQ_DEFAULT_USER=admin <span class="token operator">-</span>e RABBITMQ_DEFAULT_PASS=kRa9Pj3ItJO12c7S <span class="token operator">-</span>p 15672:15672 <span class="token operator">-</span>p 5672:5672 <span class="token operator">-</span>p 25672:25672 <span class="token operator">-</span>p 61613:61613 <span class="token operator">-</span>p 1883:1883 rabbitmq:management
</code></pre> 
  <pre><code>启动之后 通过http:ip:15672 访问   用户名:admin 密码:kRa9Pj3ItJO12c7S  如果没有设置RABBITMQ_DEFAULT_PASS 
和RABBITMQ_DEFAULT_USER 的话 用户名和密码 都是guest
</code></pre> 
  <h2>docker 安装orcale11g</h2> 
  <h5>拉取镜像</h5> 
  <pre><code class="prism language-powershell">docker pull registry<span class="token punctuation">.</span>cn<span class="token operator">-</span>hangzhou<span class="token punctuation">.</span>aliyuncs<span class="token punctuation">.</span>com<span class="token operator">/</span>helowin<span class="token operator">/</span>oracle_11g
</code></pre> 
  <h5>启动容器</h5> 
  <pre><code class="prism language-powershell">docker run <span class="token operator">-</span>d <span class="token operator">-</span>p 1521:1521 <span class="token operator">-</span>v <span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>oracle:<span class="token operator">/</span><span class="token keyword">data</span><span class="token operator">/</span>oracle <span class="token operator">--</span>name oracle11 registry<span class="token punctuation">.</span>cn<span class="token operator">-</span>hangzhou<span class="token punctuation">.</span>aliyuncs<span class="token punctuation">.</span>com<span class="token operator">/</span>helowin<span class="token operator">/</span>oracle_11g
</code></pre> 
  <h5>进入容器</h5> 
  <pre><code class="prism language-powershell"><span class="token comment">#进入容器</span>
docker exec <span class="token operator">-</span>it oracle11 <span class="token operator">/</span>bin<span class="token operator">/</span>bash
<span class="token comment">#切换用户 root 密码 helowin</span>
su root
<span class="token comment">#编辑profile配置文件 在文件最后面加上以下内容</span>
export ORACLE_HOME=<span class="token operator">/</span>home<span class="token operator">/</span>oracle<span class="token operator">/</span>app<span class="token operator">/</span>oracle<span class="token operator">/</span>product<span class="token operator">/</span>11<span class="token punctuation">.</span>2<span class="token punctuation">.</span>0<span class="token operator">/</span>dbhome_2
export ORACLE_SID=helowin
export PATH=<span class="token variable">$ORACLE_HOME</span><span class="token operator">/</span>bin:<span class="token variable">$PATH</span>
<span class="token comment">#加载环境变量</span>
source <span class="token operator">/</span>etc<span class="token operator">/</span>profile
<span class="token comment">#创建软连接</span>
ln <span class="token operator">-</span>s <span class="token variable">$ORACLE_HOME</span><span class="token operator">/</span>bin<span class="token operator">/</span>sqlplus <span class="token operator">/</span>usr<span class="token operator">/</span>bin
<span class="token comment">#切换到oracle用户 注意空格-前后都有空格</span>
 su <span class="token operator">-</span> oracle
<span class="token comment">#登录sqlplus并修改sys、system用户密码</span>
sqlplus <span class="token operator">/</span>nolog
conn <span class="token operator">/</span>as sysdba
<span class="token comment"># 修改system用户账号密码</span>
alter user system identified by system<span class="token punctuation">;</span>
<span class="token comment">#修改sys用户账号密码</span>
alter user sys identified by system<span class="token punctuation">;</span>
<span class="token comment">#创建内部管理员账号密码</span>
create user test identified by test<span class="token punctuation">;</span>
<span class="token comment">#将dba权限授权给内部管理员账号和密码</span>
grant connect<span class="token punctuation">,</span>resource<span class="token punctuation">,</span>dba to test<span class="token punctuation">;</span>
<span class="token comment">#修改密码规则策略为密码永不过期</span>
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED<span class="token punctuation">;</span> 
<span class="token comment">#修改数据库最大连接数据</span>
alter system <span class="token function">set</span> processes=1000 scope=spfile<span class="token punctuation">;</span>
<span class="token comment">#重启数据库</span>
conn <span class="token operator">/</span>as sysdba
<span class="token comment">#关闭数据库</span>
shutdown immediate<span class="token punctuation">;</span>
<span class="token comment">#启动数据库</span>
startup<span class="token punctuation">;</span>
<span class="token comment">#退出</span>
<span class="token keyword">exit</span><span class="token punctuation">;</span>
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1647467800937140224"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(linux,linux,docker)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835513699826233344.htm"
                           title="android系统selinux中添加新属性property" target="_blank">android系统selinux中添加新属性property</a>
                        <span class="text-muted">辉色投像</span>

                        <div>1.定位/android/system/sepolicy/private/property_contexts声明属性开头:persist.charge声明属性类型:u:object_r:system_prop:s0图12.定位到android/system/sepolicy/public/domain.te删除neverallow{domain-init}default_prop:property</div>
                    </li>
                    <li><a href="/article/1835509391361667072.htm"
                           title="Linux下QT开发的动态库界面弹出操作(SDL2)" target="_blank">Linux下QT开发的动态库界面弹出操作(SDL2)</a>
                        <span class="text-muted">13jjyao</span>
<a class="tag" taget="_blank" href="/search/QT%E7%B1%BB/1.htm">QT类</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/sdl2/1.htm">sdl2</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口</div>
                    </li>
                    <li><a href="/article/1835504596898902016.htm"
                           title="linux sdl windows.h,Windows下的SDL安装" target="_blank">linux sdl windows.h,Windows下的SDL安装</a>
                        <span class="text-muted">奔跑吧linux内核</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/sdl/1.htm">sdl</a><a class="tag" taget="_blank" href="/search/windows.h/1.htm">windows.h</a>
                        <div>首先你要下载并安装SDL开发包。如果装在C盘下,路径为C:\SDL1.2.5如果在WINDOWS下。你可以按以下步骤:1.打开VC++,点击"Tools",Options2,点击directories选项3.选择"Includefiles"增加一个新的路径。"C:\SDL1.2.5\include"4,现在选择"Libaryfiles“增加"C:\SDL1.2.5\lib"现在你可以开始编写你的第</div>
                    </li>
                    <li><a href="/article/1835503712899002368.htm"
                           title="linux中sdl的使用教程,sdl使用入门" target="_blank">linux中sdl的使用教程,sdl使用入门</a>
                        <span class="text-muted">Melissa Corvinus</span>
<a class="tag" taget="_blank" href="/search/linux%E4%B8%ADsdl%E7%9A%84%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/1.htm">linux中sdl的使用教程</a>
                        <div>本文通过一个简单示例讲解SDL的基本使用流程。示例中展示一个窗口,窗口里面有个随机颜色快随机移动。当我们鼠标点击关闭按钮时间窗口关闭。基本步骤如下:1.初始化SDL并创建一个窗口。SDL_Init()初始化SDL_CreateWindow()创建窗口2.纹理渲染存储RGB和存储纹理的区别:比如一个从左到右由红色渐变到蓝色的矩形,用存储RGB的话就需要把矩形中每个点的具体颜色值存储下来;而纹理只是一</div>
                    </li>
                    <li><a href="/article/1835502578050363392.htm"
                           title="PHP环境搭建详细教程" target="_blank">PHP环境搭建详细教程</a>
                        <span class="text-muted">好看资源平台</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>PHP是一个流行的服务器端脚本语言,广泛用于Web开发。为了使PHP能够在本地或服务器上运行,我们需要搭建一个合适的PHP环境。本教程将结合最新资料,介绍在不同操作系统上搭建PHP开发环境的多种方法,包括Windows、macOS和Linux系统的安装步骤,以及本地和Docker环境的配置。1.PHP环境搭建概述PHP环境的搭建主要分为以下几类:集成开发环境:例如XAMPP、WAMP、MAMP,这</div>
                    </li>
                    <li><a href="/article/1835501948011376640.htm"
                           title="使用 FinalShell 进行远程连接(ssh 远程连接 Linux 服务器)" target="_blank">使用 FinalShell 进行远程连接(ssh 远程连接 Linux 服务器)</a>
                        <span class="text-muted">编程经验分享</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/1.htm">开发工具</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>目录前言基本使用教程新建远程连接连接主机自定义命令路由追踪前言后端开发,必然需要和服务器打交道,部署应用,排查问题,查看运行日志等等。一般服务器都是集中部署在机房中,也有一些直接是云服务器,总而言之,程序员不可能直接和服务器直接操作,一般都是通过ssh连接来登录服务器。刚接触远程连接时,使用的是XSHELL来远程连接服务器,连接上就能够操作远程服务器了,但是仅用XSHELL并没有上传下载文件的功能</div>
                    </li>
                    <li><a href="/article/1835493373906087936.htm"
                           title="libyuv之linux编译" target="_blank">libyuv之linux编译</a>
                        <span class="text-muted">jaronho</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>文章目录一、下载源码二、编译源码三、注意事项1、银河麒麟系统(aarch64)(1)解决armv8-a+dotprod+i8mm指令集支持问题(2)解决armv9-a+sve2指令集支持问题一、下载源码到GitHub网站下载https://github.com/lemenkov/libyuv源码,或者用直接用git克隆到本地,如:gitclonehttps://github.com/lemenko</div>
                    </li>
                    <li><a href="/article/1835489588169240576.htm"
                           title="ARM驱动学习之5 LEDS驱动" target="_blank">ARM驱动学习之5 LEDS驱动</a>
                        <span class="text-muted">JT灬新一</span>
<a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/%E5%BA%95%E5%B1%82/1.htm">底层</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a>
                        <div>ARM驱动学习之5LEDS驱动知识点:•linuxGPIO申请函数和赋值函数–gpio_request–gpio_set_value•三星平台配置GPIO函数–s3c_gpio_cfgpin•GPIO配置输出模式的宏变量–S3C_GPIO_OUTPUT注意点:DRIVER_NAME和DEVICE_NAME匹配。实现步骤:1.加入需要的头文件://Linux平台的gpio头文件#include//三</div>
                    </li>
                    <li><a href="/article/1835485681187647488.htm"
                           title="【华为OD技术面试真题精选 - 非技术题】 -HR面,综合面_华为od hr面" target="_blank">【华为OD技术面试真题精选 - 非技术题】 -HR面,综合面_华为od hr面</a>
                        <span class="text-muted">一个射手座的程序媛</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>最后的话最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!资料预览给大家整理的视频资料:给大家整理的电子书资料:如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以点击这里获</div>
                    </li>
                    <li><a href="/article/1835485429059645440.htm"
                           title="docker" target="_blank">docker</a>
                        <span class="text-muted">igotyback</span>
<a class="tag" taget="_blank" href="/search/eureka/1.htm">eureka</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>Docker容器的文件系统是隔离的,但是可以通过挂载卷(Volumes)或绑定挂载(BindMounts)将宿主机的文件系统目录映射到容器内部。要查看Docker容器的映射路径,可以使用以下方法:查看容器配置:使用dockerinspect命令可以查看容器的详细配置信息,包括挂载的卷。例如:bashdockerinspect在输出的JSON格式中,查找"Mounts"部分,这里会列出所有的挂载信息</div>
                    </li>
                    <li><a href="/article/1835482277870661632.htm"
                           title="简介Shell、zsh、bash" target="_blank">简介Shell、zsh、bash</a>
                        <span class="text-muted">zhaosuningsn</span>
<a class="tag" taget="_blank" href="/search/Shell/1.htm">Shell</a><a class="tag" taget="_blank" href="/search/zsh/1.htm">zsh</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a>
                        <div>Shell是Linux和Unix的外壳,类似衣服,负责外界与Linux和Unix内核的交互联系。例如接收终端用户及各种应用程序的命令,把接收的命令翻译成内核能理解的语言,传递给内核,并把内核处理接收的命令的结果返回给外界,即Shell是外界和内核沟通的桥梁或大门。Linux和Unix提供了多种Shell,其中有种bash,当然还有其他好多种。Mac电脑中不但有bash,还有一个zsh,预装的,据说</div>
                    </li>
                    <li><a href="/article/1835479000600899584.htm"
                           title="Linux MariaDB使用OpenSSL安装SSL证书" target="_blank">Linux MariaDB使用OpenSSL安装SSL证书</a>
                        <span class="text-muted">Meta39</span>
<a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a><a class="tag" taget="_blank" href="/search/Oracle/1.htm">Oracle</a><a class="tag" taget="_blank" href="/search/MariaDB/1.htm">MariaDB</a><a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/Windows/1.htm">Windows</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/mariadb/1.htm">mariadb</a>
                        <div>进入到证书存放目录,批量删除.pem证书警告:确保已经进入到证书存放目录find.-typef-iname\*.pem-delete查看是否安装OpenSSLopensslversion没有则安装yuminstallopensslopenssl-devel开启SSL编辑/etc/my.cnf文件(没有的话就创建,但是要注意,在/etc/my.cnf.d/server.cnf配置了datadir的,</div>
                    </li>
                    <li><a href="/article/1835469294436184064.htm"
                           title="【从浅识到熟知Linux】Linux发展史" target="_blank">【从浅识到熟知Linux】Linux发展史</a>
                        <span class="text-muted">Jammingpro</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%8E%E6%B5%85%E5%AD%A6%E5%88%B0%E7%86%9F%E7%9F%A5Linux/1.htm">从浅学到熟知Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>归属专栏:从浅学到熟知Linux个人主页:Jammingpro每日努力一点点,技术变化看得见文章前言:本篇文章记录Linux发展的历史,因在介绍Linux过程中涉及的其他操作系统及人物,本文对相关内容也有所介绍。文章目录Unix发展史Linux发展史开源Linux官网企业应用情况发行版本在学习Linux前,我们可能都会问Linux从哪里来?它是如何发展的。但在介绍Linux之前,需要先介绍一下Un</div>
                    </li>
                    <li><a href="/article/1835467782687387648.htm"
                           title="linux 发展史" target="_blank">linux 发展史</a>
                        <span class="text-muted">种树的猴子</span>
<a class="tag" taget="_blank" href="/search/%E5%86%85%E6%A0%B8/1.htm">内核</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>linux发展史说明此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。目录一、Linux发展背景二、UINIX的诞生三、UNIX的重要分支-BSD的诞生四、Minix的诞生五、GNU与Free</div>
                    </li>
                    <li><a href="/article/1835466523163062272.htm"
                           title="Linux sh命令" target="_blank">Linux sh命令</a>
                        <span class="text-muted">fengyehongWorld</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>目录一.基本语法二.选项2.1-c字符串中读取内容,并执行2.1.1基本用法2.1.2获取当前目录下失效的超链接2.2-x每个命令执行之前,将其打印出来2.3结合Here文档使用一.基本语法⏹Linux和Unix系统中用于执行shell脚本或运行命令的命令。sh[选项][脚本文件][参数...]⏹选项-c:从字符串中读取内容,并执行。-x:在每个命令执行之前,将其打印出来。-s:从标准流中读取内容</div>
                    </li>
                    <li><a href="/article/1835466270955368448.htm"
                           title="Linux vi常用命令" target="_blank">Linux vi常用命令</a>
                        <span class="text-muted">fengyehongWorld</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>参考资料viコマンド(vimコマンド)リファレンス目录一.保存系命令二.删除系命令三.移动系命令四.复制粘贴系命令一.保存系命令⏹保存并退出:wq⏹强制保存并退出:wq!⏹退出(文件未编辑):q⏹强制退出(忽略已编辑内容):q!⏹另存为:w新文件名二.删除系命令⏹删除当前行dd⏹清空整个文档gg:移动到文档顶部dG:删除到最后一行ggdG三.移动系命令⏹移动到文档顶部gg⏹移动到文档底部#方式1G</div>
                    </li>
                    <li><a href="/article/1835452402178813952.htm"
                           title="Linux查看服务器日志" target="_blank">Linux查看服务器日志</a>
                        <span class="text-muted">TPBoreas</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>一、tail这个是我最常用的一种查看方式用法如下:tail-n10test.log查询日志尾部最后10行的日志;tail-n+10test.log查询10行之后的所有日志;tail-fn10test.log循环实时查看最后1000行记录(最常用的)一般还会配合着grep用,(实时抓包)例如:tail-fn1000test.log|grep'关键字'(动态抓包)tail-fn1000test.log</div>
                    </li>
                    <li><a href="/article/1835447859219099648.htm"
                           title="06选课支付模块之基于消息队列发送支付通知消息" target="_blank">06选课支付模块之基于消息队列发送支付通知消息</a>
                        <span class="text-muted">echo 云清</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%88%90%E5%9C%A8%E7%BA%BF/1.htm">学成在线</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/1.htm">消息队列</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E4%BB%98%E9%80%9A%E7%9F%A5/1.htm">支付通知</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%88%90%E5%9C%A8%E7%BA%BF/1.htm">学成在线</a>
                        <div>消息队列发送支付通知消息需求分析订单服务作为通用服务,在订单支付成功后需要将支付结果异步通知给其他对接的微服务,微服务收到支付结果根据订单的类型去更新自己的业务数据技术方案使用消息队列进行异步通知需要保证消息的可靠性即生产端将消息成功通知到服务端:消息发送到交换机-->由交换机发送到队列-->消费者监听队列,收到消息进行处理,参考文章02-使用Docker安装RabbitMQ-CSDN博客生产者确</div>
                    </li>
                    <li><a href="/article/1835443696431099904.htm"
                           title="笋丁网页自动回复机器人V3.0.0免授权版源码" target="_blank">笋丁网页自动回复机器人V3.0.0免授权版源码</a>
                        <span class="text-muted">希希分享</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E5%B8%8C%E7%BD%9158soho_cn/1.htm">软希网58soho_cn</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E8%B5%84%E6%BA%90/1.htm">源码资源</a><a class="tag" taget="_blank" href="/search/%E7%AC%8B%E4%B8%81%E7%BD%91%E9%A1%B5%E8%87%AA%E5%8A%A8%E5%9B%9E%E5%A4%8D%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">笋丁网页自动回复机器人</a>
                        <div>笋丁网页机器人一款可设置自动回复,默认消息,调用自定义api接口的网页机器人。此程序后端语言使用Golang,内存占用最高不超过30MB,1H1G服务器流畅运行。仅支持Linux服务器部署,不支持虚拟主机,请悉知!使用自定义api功能需要有一定的建站基础。源码下载:https://download.csdn.net/download/m0_66047725/89754250更多资源下载:关注我。安</div>
                    </li>
                    <li><a href="/article/1835417097660887040.htm"
                           title="Linux CTF逆向入门" target="_blank">Linux CTF逆向入门</a>
                        <span class="text-muted">蚁景网络安全</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/CTF/1.htm">CTF</a>
                        <div>1.ELF格式我们先来看看ELF文件头,如果想详细了解,可以查看ELF的manpage文档。关于ELF更详细的说明:e_shoff:节头表的文件偏移量(字节)。如果文件没有节头表,则此成员值为零。sh_offset:表示了该section(节)离开文件头部位置的距离+-------------------+|ELFheader|---++--------->+-------------------</div>
                    </li>
                    <li><a href="/article/1835415332345442304.htm"
                           title="NPM私库搭建-verdaccio(Linux)" target="_blank">NPM私库搭建-verdaccio(Linux)</a>
                        <span class="text-muted">Beam007</span>
<a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1、安装nodelinux服务器安装nodea)、官网下载所需的node版本https://nodejs.org/dist/v14.21.0/b)、解压安装包若下载的是xxx.tar.xz文件,解压命令为tar-xvfxxx.tar.xzc)、修改环境变量修改:/etc/profile文件#SETPATHFORNODEJSexportNODE_HOME=NODEJS解压安装的路径exportPAT</div>
                    </li>
                    <li><a href="/article/1835408447806468096.htm"
                           title="Ubuntu18.04 Docker部署Kinship(Django)项目过程" target="_blank">Ubuntu18.04 Docker部署Kinship(Django)项目过程</a>
                        <span class="text-muted">Dante617</span>

                        <div>1Docker的安装https://blog.csdn.net/weixin_41735055/article/details/1003551792下载镜像dockerpullprogramize/python3.6.8-dlib下载的镜像里包含python3.6.8和dlib19.17.03启动镜像dockerrun-it--namekinship-p7777:80-p3307:3306-p55</div>
                    </li>
                    <li><a href="/article/1835400463676174336.htm"
                           title="C++常见知识掌握" target="_blank">C++常见知识掌握</a>
                        <span class="text-muted">nfgo</span>
<a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>1.Linux软件开发、调试与维护内核与系统结构Linux内核是操作系统的核心,负责管理硬件资源,提供系统服务,它是系统软件与硬件之间的桥梁。主要组成部分包括:进程管理:内核通过调度器分配CPU时间给各个进程,实现进程的创建、调度、终止等操作。使用进程描述符(task_struct)来存储进程信息,包括状态(就绪、运行、阻塞等)、优先级、内存映射等。内存管理:包括物理内存和虚拟内存管理。通过页表映</div>
                    </li>
                    <li><a href="/article/1835399957885054976.htm"
                           title="docker from指令的含义_多个FROM-含义" target="_blank">docker from指令的含义_多个FROM-含义</a>
                        <span class="text-muted">weixin_39722188</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/from%E6%8C%87%E4%BB%A4%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">from指令的含义</a>
                        <div>小编典典什么是基本图片?一组文件,加上EXPOSE端口ENTRYPOINT和CMD。您可以添加文件并基于该基础图像构建新图像,Dockerfile并以FROM指令开头:后面提到的图像FROM是新图像的“基础图像”。这是否意味着如果我neo4j/neo4j在FROM指令中声明,则在运行映像时,neo数据库将自动运行并且可在端口7474的容器中使用?仅当您不覆盖CMD和时ENTRYPOINT。但是图像</div>
                    </li>
                    <li><a href="/article/1835399831116410880.htm"
                           title="Dockerfile FROM 两个" target="_blank">Dockerfile FROM 两个</a>
                        <span class="text-muted">redDelta</span>

                        <div>Docker相关视频讲解:什么是容器Docker介绍实现"DockerfileFROM两个"的步骤步骤表格步骤操作1创建一个Dockerfile文件2写入FROM指令3构建第一个镜像4创建第二个Dockerfile文件5写入FROM指令6构建第二个镜像7合并两个镜像操作步骤说明步骤1:创建一个Dockerfile文件使用任意文本编辑器创建一个名为Dockerfile的文件。登录后复制#Docker</div>
                    </li>
                    <li><a href="/article/1835399577818198016.htm"
                           title="linux脚本sed替换变量,sed 命令中替换值为shell变量" target="_blank">linux脚本sed替换变量,sed 命令中替换值为shell变量</a>
                        <span class="text-muted">诺坎普之约</span>
<a class="tag" taget="_blank" href="/search/linux%E8%84%9A%E6%9C%ACsed%E6%9B%BF%E6%8D%A2%E5%8F%98%E9%87%8F/1.htm">linux脚本sed替换变量</a>
                        <div>文章目录sed命令中替换值为shell变量替换基本语法sed中替换使用shell变量总结参考文档sed命令中替换值为shell变量替换基本语法大家都是sed有很多用法,最多就应该是替换一些值了。让我们先回忆sed的替换语法。在sed进行替换的时候sed-i's/old/new/g'1.txtecho"hellooldfrank"|sed's/old/new/g'结果如下:hellonewfrank</div>
                    </li>
                    <li><a href="/article/1835398694636187648.htm"
                           title="RK3229_Android9.0_Box 4G模块EC200A调试" target="_blank">RK3229_Android9.0_Box 4G模块EC200A调试</a>
                        <span class="text-muted">suifen_</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>0、kernel修改这部分完全可以参考Linux的移植:RK3588EC200A-CN【4G模块】调试_rkec200a-cn-CSDN博客1、修改device/rockchip/rk322xdiff--gita/device.mkb/device.mkindexec6bfaa..e7c32d1100755---a/device.mk+++b/device.mk@@-105,6+105,8@@en</div>
                    </li>
                    <li><a href="/article/1835395039572881408.htm"
                           title="Dockerfile命令详解之 FROM" target="_blank">Dockerfile命令详解之 FROM</a>
                        <span class="text-muted">清风怎不知意</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8%E5%8C%96/1.htm">容器化</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>许多同学不知道Dockerfile应该如何写,不清楚Dockerfile中的指令分别有什么意义,能达到什么样的目的,接下来我将在容器化专栏中详细的为大家解释每一个指令的含义以及用法。专栏订阅传送门https://blog.csdn.net/qq_38220908/category_11989778.html指令不区分大小写。但是,按照惯例,它们应该是大写的,以便更容易地将它们与参数区分开来。(引用</div>
                    </li>
                    <li><a href="/article/1835394786899619840.htm"
                           title="Dockerfile(1) - FROM 指令详解" target="_blank">Dockerfile(1) - FROM 指令详解</a>
                        <span class="text-muted">小菠萝测试笔记</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>FROM指明当前的镜像基于哪个镜像构建dockerfile必须以FROM开头,除了ARG命令可以在FROM前面FROM[--platform=][AS]FROM[--platform=][:][AS]FROM[--platform=][@][AS]小栗子FROMalpine:latest一个dockerfile可以有多个FROM可以有多个FROM来创建多个镜像,或区分构建阶段,将一个构建阶段作为另</div>
                    </li>
                    <li><a href="/article/1835390878806536192.htm"
                           title="linux 安装Sublime Text 3" target="_blank">linux 安装Sublime Text 3</a>
                        <span class="text-muted">hhyiyuanyu</span>
<a class="tag" taget="_blank" href="/search/Python%E5%AD%A6%E4%B9%A0/1.htm">Python学习</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/sublime/1.htm">sublime</a><a class="tag" taget="_blank" href="/search/text/1.htm">text</a>
                        <div>方法/步骤打开官网http://www.sublimetext.com/3,选择64位进行下载执行命令wgethttps://download.sublimetext.com/sublime_text_3_build_3126_x64.tar.bz2进行下载3、下载完成进行解压,执行tar-xvvfsublime_text_3_build_3126_x64.tar.bz解压4、解压完成以后,移动到</div>
                    </li>
                                <li><a href="/article/4.htm"
                                       title="java的(PO,VO,TO,BO,DAO,POJO)" target="_blank">java的(PO,VO,TO,BO,DAO,POJO)</a>
                                    <span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/TO/1.htm">TO</a><a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a>
                                    <div>转: 
http://www.cnblogs.com/yxnchinahlj/archive/2012/02/24/2366110.html 
  
------------------------------------------------------------------- 
 O/R Mapping 是 Object Relational Mapping(对象关系映</div>
                                </li>
                                <li><a href="/article/131.htm"
                                       title="spring ioc原理(看完后大家可以自己写一个spring)" target="_blank">spring ioc原理(看完后大家可以自己写一个spring)</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>         最近,买了本Spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬 的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。IO</div>
                                </li>
                                <li><a href="/article/258.htm"
                                       title="MyEclipse 2014中Customize Persperctive设置无效的解决方法" target="_blank">MyEclipse 2014中Customize Persperctive设置无效的解决方法</a>
                                    <span class="text-muted">Kai_Ge</span>
<a class="tag" taget="_blank" href="/search/MyEclipse2014/1.htm">MyEclipse2014</a>
                                    <div>高高兴兴下载个MyEclipse2014,发现工具条上多了个手机开发的按钮,心生不爽就想弄掉他!
结果发现Customize Persperctive失效!!
有说更新下就好了,可是国内Myeclipse访问不了,何谈更新...
so~这里提供了更新后的一下jar包,给大家使用! 
1、将9个jar复制到myeclipse安装目录\plugins中
2、删除和这9个jar同包名但是版本号较</div>
                                </li>
                                <li><a href="/article/385.htm"
                                       title="SpringMvc上传" target="_blank">SpringMvc上传</a>
                                    <span class="text-muted">120153216</span>
<a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a>
                                    <div>  
@RequestMapping(value = WebUrlConstant.UPLOADFILE)
	@ResponseBody
	public Map<String, Object> uploadFile(HttpServletRequest request,HttpServletResponse httpresponse) {
		try {
			// </div>
                                </li>
                                <li><a href="/article/512.htm"
                                       title="Javascript----HTML DOM 事件" target="_blank">Javascript----HTML DOM 事件</a>
                                    <span class="text-muted">何必如此</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序。 
 
事件通常与函数结合使用,函数不会在事件发生前被执行! 
 
 
注:DOM: 指明使用的 DOM 属性级别。 
 
1.鼠标事件 
属性               </div>
                                </li>
                                <li><a href="/article/639.htm"
                                       title="动态绑定和删除onclick事件" target="_blank">动态绑定和删除onclick事件</a>
                                    <span class="text-muted">357029540</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a>
                                    <div>因为对JQUERY和JS的动态绑定事件的不熟悉,今天花了好久的时间才把动态绑定和删除onclick事件搞定!现在分享下我的过程。 
 
     在我的查询页面,我将我的onclick事件绑定到了tr标签上同时传入当前行(this值)参数,这样可以在点击行上的任意地方时可以选中checkbox,但是在我的某一列上也有一个onclick事件是用于下载附件的,当</div>
                                </li>
                                <li><a href="/article/766.htm"
                                       title="HttpClient|HttpClient请求详解" target="_blank">HttpClient|HttpClient请求详解</a>
                                    <span class="text-muted">7454103</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a><a class="tag" taget="_blank" href="/search/Security/1.htm">Security</a>
                                    <div>HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需</div>
                                </li>
                                <li><a href="/article/893.htm"
                                       title="递归 逐层统计树形结构数据" target="_blank">递归 逐层统计树形结构数据</a>
                                    <span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a>
                                    <div>将集合递归获取树形结构: 
 
 
/** 
 * 
 * 递归获取数据 
 * @param alist:所有分类 
 * @param subjname:对应统计的项目名称 
 * @param pk:对应项目主键 
 * @param reportList: 最后统计的结果集 
 * @param count:项目级别 
 */ 
 
 public void getReportVO(Arr</div>
                                </li>
                                <li><a href="/article/1020.htm"
                                       title="访问WEB-INF下使用frameset标签页面出错的原因" target="_blank">访问WEB-INF下使用frameset标签页面出错的原因</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a>
                                    <div><frameset rows="61,*,24" cols="*" framespacing="0" frameborder="no" border="0">          </div>
                                </li>
                                <li><a href="/article/1147.htm"
                                       title="MAVEN常用命令" target="_blank">MAVEN常用命令</a>
                                    <span class="text-muted">avords</span>

                                    <div>Maven库: 
http://repo2.maven.org/maven2/ 
Maven依赖查询: 
http://mvnrepository.com/ 
Maven常用命令: 1. 创建Maven的普通java项目:    mvn archetype:create    -DgroupId=packageName </div>
                                </li>
                                <li><a href="/article/1274.htm"
                                       title="PHP如果自带一个小型的web服务器就好了" target="_blank">PHP如果自带一个小型的web服务器就好了</a>
                                    <span class="text-muted">houxinyou</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div>最近单位用PHP做网站,感觉PHP挺好的,不过有一些地方不太习惯,比如,环境搭建。PHP本身就是一个网站后台脚本,但用PHP做程序时还要下载apache,配置起来也不太很方便,虽然有好多配置好的apache+php+mysq的环境,但用起来总是心里不太舒服,因为我要的只是一个开发环境,如果是真实的运行环境,下个apahe也无所谓,但只是一个开发环境,总有一种杀鸡用牛刀的感觉。如果php自己的程序中</div>
                                </li>
                                <li><a href="/article/1401.htm"
                                       title="NoSQL数据库之Redis数据库管理(list类型)" target="_blank">NoSQL数据库之Redis数据库管理(list类型)</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a>
                                    <div>3.list类型及操作 
        List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。 
  &nbs</div>
                                </li>
                                <li><a href="/article/1528.htm"
                                       title="谁在用Hadoop?" target="_blank">谁在用Hadoop?</a>
                                    <span class="text-muted">bingyingao</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E5%85%AC%E5%8F%B8/1.htm">公司</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF/1.htm">应用场景</a>
                                    <div>Hadoop技术的应用已经十分广泛了,而我是最近才开始对它有所了解,它在大数据领域的出色表现也让我产生了兴趣。浏览了他的官网,其中有一个页面专门介绍目前世界上有哪些公司在用Hadoop,这些公司涵盖各行各业,不乏一些大公司如alibaba,ebay,amazon,google,facebook,adobe等,主要用于日志分析、数据挖掘、机器学习、构建索引、业务报表等场景,这更加激发了学习它的热情。</div>
                                </li>
                                <li><a href="/article/1655.htm"
                                       title="【Spark七十六】Spark计算结果存到MySQL" target="_blank">【Spark七十六】Spark计算结果存到MySQL</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>package spark.examples.db

import java.sql.{PreparedStatement, Connection, DriverManager}

import com.mysql.jdbc.Driver
import org.apache.spark.{SparkContext, SparkConf}

object SparkMySQLInteg</div>
                                </li>
                                <li><a href="/article/1782.htm"
                                       title="Scala: JVM上的函数编程" target="_blank">Scala: JVM上的函数编程</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a><a class="tag" taget="_blank" href="/search/haskell/1.htm">haskell</a>
                                    <div>    说Scala是JVM上的函数编程一点也不为过,Scala把面向对象和函数型编程这两种主流编程范式结合了起来,对于熟悉各种编程范式的人而言Scala并没有带来太多革新的编程思想,scala主要的有点在于Java庞大的package优势,这样也就弥补了JVM平台上函数型编程的缺失,MS家.net上已经有了F#,JVM怎么能不跟上呢? 
    对本人而言</div>
                                </li>
                                <li><a href="/article/1909.htm"
                                       title="jar打成exe" target="_blank">jar打成exe</a>
                                    <span class="text-muted">bro_feng</span>
<a class="tag" taget="_blank" href="/search/java+jar+exe/1.htm">java jar exe</a>
                                    <div>今天要把jar包打成exe,jsmooth和exe4j都用了。 
遇见几个问题。记录一下。 
两个软件都很好使,网上都有图片教程,都挺不错。 
 
首先肯定是要用自己的jre的,不然不能通用,其次别忘了把需要的lib放到classPath中。 
困扰我很久的一个问题是,我自己打包成功后,在一个同事的没有装jdk的电脑上运行,就是不行,报错jvm.dll为无效的windows映像,如截图 
最后发现</div>
                                </li>
                                <li><a href="/article/2036.htm"
                                       title="读《研磨设计模式》-代码笔记-策略模式-Strategy" target="_blank">读《研磨设计模式》-代码笔记-策略模式-Strategy</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 




/*
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化

简单理解:
1、将不同的策略提炼出一个共同接口。这是容易的,因为不同的策略,只是算法不同,需要传递的参数</div>
                                </li>
                                <li><a href="/article/2163.htm"
                                       title="cmd命令值cvfM命令" target="_blank">cmd命令值cvfM命令</a>
                                    <span class="text-muted">chenyu19891124</span>
<a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a>
                                    <div>     cmd命令还真是强大啊。今天发现jar -cvfM aa.rar @aaalist 就这行命令可以根据aaalist取出相应的文件 
  例如: 
     在d:\workspace\prpall\test.java 有这样一个文件,现在想要将这个文件打成一个包。运行如下命令即可比如在d:\wor</div>
                                </li>
                                <li><a href="/article/2290.htm"
                                       title="OpenJWeb(1.8) Java Web应用快速开发平台" target="_blank">OpenJWeb(1.8) Java Web应用快速开发平台</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a>
                                    <div>  
  OpenJWeb(1.8) Java Web应用快速开发平台的作者是我们技术联盟的成员,他最近推出了新版本的快速应用开发平台  OpenJWeb(1.8),我帮他做做宣传 
 
  OpenJWeb快速开发平台以快速开发为核心,整合先进的java 开源框架,本着自主开发+应用集成相结合的原则,旨在为政府、企事业单位、软件公司等平台用户提供一个架构透</div>
                                </li>
                                <li><a href="/article/2417.htm"
                                       title="Python 报错:IndentationError: unexpected indent" target="_blank">Python 报错:IndentationError: unexpected indent</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/tab/1.htm">tab</a><a class="tag" taget="_blank" href="/search/%E7%A9%BA%E6%A0%BC/1.htm">空格</a><a class="tag" taget="_blank" href="/search/%E7%BC%A9%E8%BF%9B/1.htm">缩进</a>
                                    <div>    IndentationError: unexpected indent 是缩进的问题,也有可能是tab和空格混用啦 
 
    Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且在Python语言里,缩进而非花括号或者某种关键字,被用于表示语句块的开始和退出。增加缩进表示语句块的开</div>
                                </li>
                                <li><a href="/article/2544.htm"
                                       title="HttpClient 超时设置" target="_blank">HttpClient 超时设置</a>
                                    <span class="text-muted">dongwei_6688</span>
<a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a>
                                    <div>HttpClient中的超时设置包含两个部分: 
1. 建立连接超时,是指在httpclient客户端和服务器端建立连接过程中允许的最大等待时间 
2. 读取数据超时,是指在建立连接后,等待读取服务器端的响应数据时允许的最大等待时间 
  
在HttpClient 4.x中如下设置: 
  
  
HttpClient httpclient = new DefaultHttpC</div>
                                </li>
                                <li><a href="/article/2671.htm"
                                       title="小鱼与波浪" target="_blank">小鱼与波浪</a>
                                    <span class="text-muted">dcj3sjt126com</span>

                                    <div>一条小鱼游出水面看蓝天,偶然间遇到了波浪。  小鱼便与波浪在海面上游戏,随着波浪上下起伏、汹涌前进。  小鱼在波浪里兴奋得大叫:“你每天都过着这么刺激的生活吗?简直太棒了。”  波浪说:“岂只每天过这样的生活,几乎每一刻都这么刺激!还有更刺激的,要有潮汐变化,或者狂风暴雨,那才是兴奋得心脏都会跳出来。”  小鱼说:“真希望我也能变成一个波浪,每天随着风雨、潮汐流动,不知道有多么好!”  很快,小鱼</div>
                                </li>
                                <li><a href="/article/2798.htm"
                                       title="Error Code: 1175 You are using safe update mode and you tried to update a table" target="_blank">Error Code: 1175 You are using safe update mode and you tried to update a table</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div> 
 快速高效用:SET SQL_SAFE_UPDATES = 0;下面的就不要看了! 
 今日用MySQL Workbench进行数据库的管理更新时,执行一个更新的语句碰到以下错误提示: 
 Error Code: 1175 
 You are using safe update mode and you tried to update a table without a WHERE that </div>
                                </li>
                                <li><a href="/article/2925.htm"
                                       title="枚举类型详细介绍及方法定义" target="_blank">枚举类型详细介绍及方法定义</a>
                                    <span class="text-muted">gaomysion</span>
<a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/javaee/1.htm">javaee</a>
                                    <div>转发 
http://developer.51cto.com/art/201107/275031.htm 
 
枚举其实就是一种类型,跟int, char 这种差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值。建议大家可以看看,这两篇文章,《java枚举类型入门》和《C++的中的结构体和枚举》,供大家参考。 
 
枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum</div>
                                </li>
                                <li><a href="/article/3052.htm"
                                       title="Merge Sorted Array" target="_blank">Merge Sorted Array</a>
                                    <span class="text-muted">hcx2013</span>
<a class="tag" taget="_blank" href="/search/array/1.htm">array</a>
                                    <div>Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. 
Note:You may assume that nums1 has enough space (size that is</div>
                                </li>
                                <li><a href="/article/3179.htm"
                                       title="Expression Language 3.0新特性" target="_blank">Expression Language 3.0新特性</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/el+3.0/1.htm">el 3.0</a>
                                    <div>Expression Language 3.0表达式语言规范最终版从2013-4-29发布到现在已经非常久的时间了;目前如Tomcat 8、Jetty 9、GlasshFish 4已经支持EL 3.0。新特性包括:如字符串拼接操作符、赋值、分号操作符、对象方法调用、Lambda表达式、静态字段/方法调用、构造器调用、Java8集合操作。目前Glassfish 4/Jetty实现最好,对大多数新特性</div>
                                </li>
                                <li><a href="/article/3306.htm"
                                       title="超越算法来看待个性化推荐" target="_blank">超越算法来看待个性化推荐</a>
                                    <span class="text-muted">liyonghui160com</span>
<a class="tag" taget="_blank" href="/search/%E8%B6%85%E8%B6%8A%E7%AE%97%E6%B3%95%E6%9D%A5%E7%9C%8B%E5%BE%85%E4%B8%AA%E6%80%A7%E5%8C%96%E6%8E%A8%E8%8D%90/1.htm">超越算法来看待个性化推荐</a>
                                    <div>  
       一提到个性化推荐,大家一般会想到协同过滤、文本相似等推荐算法,或是更高阶的模型推荐算法,百度的张栋说过,推荐40%取决于UI、30%取决于数据、20%取决于背景知识,虽然本人不是很认同这种比例,但推荐系统中,推荐算法起的作用起的作用是非常有限的。 
      就像任何</div>
                                </li>
                                <li><a href="/article/3433.htm"
                                       title="写给Javascript初学者的小小建议" target="_blank">写给Javascript初学者的小小建议</a>
                                    <span class="text-muted">pda158</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>  一般初学JavaScript的时候最头痛的就是浏览器兼容问题。在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了。     如果你正初学JavaScript并有着一样的处境的话建议你:初学JavaScript的时候无视DOM和BOM的兼容性,将更多的时间花在 了解语言本身(ECMAScript)。只在特定浏览器编写代码(Chrome/Fi</div>
                                </li>
                                <li><a href="/article/3560.htm"
                                       title="Java 枚举" target="_blank">Java 枚举</a>
                                    <span class="text-muted">ShihLei</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a>
                                    <div>注:文章内容大量借鉴使用网上的资料,可惜没有记录参考地址,只能再传对作者说声抱歉并表示感谢! 
  
一 基础  1)语法 
  
 
      枚举类型只能有私有构造器(这样做可以保证客户代码没有办法新建一个enum的实例) 
      枚举实例必须最先定义 
   2)特性   
 
     &nb</div>
                                </li>
                                <li><a href="/article/3687.htm"
                                       title="Java SE 6 HotSpot虚拟机的垃圾回收机制" target="_blank">Java SE 6 HotSpot虚拟机的垃圾回收机制</a>
                                    <span class="text-muted">uuhorse</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/GC/1.htm">GC</a><a class="tag" taget="_blank" href="/search/%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6/1.htm">垃圾回收</a><a class="tag" taget="_blank" href="/search/VM/1.htm">VM</a>
                                    <div>官方资料,关于Java SE 6 HotSpot虚拟机的garbage Collection,非常全,英文。 
http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html 
  Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning 
&</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>