使用Docker安装常用中间件
安装Docker Desktop
推荐参考文章
如果使用的是windows,请确保Wmware的版本为15.6+,15.5-的版本和docker desktop不兼容。
1、下载安装docker desktop
https://hub.docker.com/editions/community/docker-ce-desktop-windows
2、安装Kitematic
3、配置docker阿里云加速镜像
4、下载镜像 启动容器。
镜像操作
查看所有镜像
docker images
拉取镜像
docker pull imagesName[:version]
删除镜像 删除之前确保没有此镜像的容器
docker rmi image Id
Docker安装MySQL
#拉取镜像
docker pull mysql:5.7.25
#初始化 这里的-v是挂载目录,如果不需要可以删除
docker run -d --restart always --name mysql5725 -v D:devdockermysqldata:/var/lib/mysql -v D:devdockermysql:/etc/mysql/conf.d -v D:devdockermysqllogs:/logs -e MYSQL_ROOT_PASSWORD=<root用户的密码> -p 3306:3306 mysql:5.7.25
# linux
mkdir /docker/mysql/{logs,conf,data}
docker run -d --restart always --name mysql5725 -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 mysql:5.7.25
#不挂载目录
docker run -d --name mysql5725 -e MYSQL_ROOT_PASSWORD=<root用户的密码> -p 3306:3306 mysql:5.7.25
#运行 进入容器
docker exec -it mysql5725 /bin/bash
# --restart always 开机自启
# ===========================开启远程访问===========================
# 进入容器内部
docker exec -it <自定义的容器ID> bash
// 登陆MySql
mysql -u root -p
// 设置root用户的远程访问权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '<root用户的密码>';
// 刷新权限
flush privileges;
Docker安装redis
#拉取镜像
docker pull redis
#指定版本号
docker pull redis:version /建议5.0.4
#下载redis配置文件,用于挂载
http://download.redis.io/redis-stable/redis.conf
#修改配置文件中的默认配置
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
修改配置文件
`# bind 127.0.0.1`
protected-mode no
# windows 需要提前拷贝redis.conf到对应目录
docker run -p 6379:6379 --name redis504 -v D:devdocker
edisconf
edis.conf:/etc/redis/redis.conf -v D:devdocker
edisdata:/data -d redis:5.0.4 redis-server /etc/redis/redis.conf --appendonly yes
# linux 需要提前拷贝redis.conf到对应目录
docker run -p 6379:6379 --name redis504 -v /docker/redis/redis.conf:/etc/redis/redis.conf -v /docker/redis/:/data -d redis:5.0.4 redis-server /etc/redis/redis.conf --appendonly yes
#如果挂载期间出现问题,请确保已经增加了文件夹的访问权限
Docker安装Oracle
#拉取镜像
docker pull alexeiled/docker-oracle-xe-11g
#启动 挂载目录
docker run --name oracle11g -d -v D:devdockeroracle:/data/oracle_data -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true alexeiled/docker-oracle-xe-11g
#开启远程访问方式启动
docker run --name oracle11g -d -p 1521:1521 -v /opt/oracle_data:/data/oracle_data -e ORACLE_ALLOW_REMOTE=true alexeiled/docker-oracle-xe-11g
#简单的启动方式
$ docker run --name oracle11g -d -p 1521:1521 alexeiled/docker-oracle-xe-11g
#连接信息
连接类型:Basic
主机地址:ip
端口:1521
SID:xe
用户名:system
密码:oracle
#修改用户密码永久有效
1、查看用户的proifle是哪个,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
# 创建表空间
create tablespace 表空间名称 datafile '表空间路径文件名.dbf' size 初始大小m autoextend on next 增量 maxsize 最大值(unlimited为无限制);
# 案例
create tablespace zsk datafile '/data/oracle_data/zsk.dbf' size 1000m autoextend on next 100m maxsize unlimited;
# 常见错误
ERROR at line 1:
ORA-01119: error in creating database file
'*****/**.dbf'
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 13: Permission denied
如果出现该错误就是权限不够,到要创建表空间的位置设置oracle权限
chown -R oracle:root /data/oracle_data/
# 在表空间内创建用户
create user 用户名称 identified by 密码 default tablespace 表空间;
# 案例
create user gpp identified by gpp default tablespace zsk;
# 授权
grant connect,resource to gpp;
grant dba to gpp;
配置PL/SQL
安装好oracle之后,安装PL/SQL,配置ORACLE客户端驱动。
1、下载instantclient_11_2
2、将加压后的文件夹配置为环境变量
key TNS_ADMIN
value D:oracleinstantclient_11_2
3、在D:oracleinstantclient_11_2创建两个文件
- tnsnames.ora
RXZQWEB_DEVDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xe)
)
)
- sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
4、此时,插入中文可能会导致乱码,需要增加一个环境变量
key NLS_LANGvalue AMERICAN_AMERICA.AL32UTF8
5、重启PL/SQL 问题解决
PL/SQL 、instantclient_11_2
链接:https://pan.baidu.com/s/1XMax_kI5nt0_BogKcSZIBw 提取码:vhqh
Docker安装MongoDB
#拉取镜像
docker pull mongo:latest
#启动镜像
docker run -p 27017:27017 -v D:docker-imagemongo:/data/db --name mongo -di mongo:latest
#simple
docker run -di --name=mongoDB -p 27017:27017 mongo:latest
Docker安装ES
#拉取镜像
docker pull elasticsearch:6.8.13
#启动
docker run -di --name=elasticsearch6813 -p 9200:9200 -p 9300:9300 -v D:devdockerelasticsearchconfelasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:devdockerelasticsearchdata:/usr/share/elasticsearch/data -v D:devdockerelasticsearchplugins:/usr/share/elasticsearch/plugins elasticsearch:6.8.13
# linux
mkdir -p /docker/elasticsearch/{conf,data,plugins}
touch /docker/elasticsearch/conf/elasticsearch.yml
vim /docker/elasticsearch/conf/elasticsearch.yml
# 加入下面代码块中的配置
#===============================elasticsearch.yml===============================
#服务端口号,在同一机器下必须不一样
http.port: 9200
# 集群名称
cluster.name: my-cluster
node.name: "master"
http.host: 0.0.0.0
# 支持跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
#===============================elasticsearch.yml===============================
# 启动容器
docker run --name elasticsearch6813 -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPS="-Xms512m -Xmx1024m" -e TAKE_FILE_OWNERSHIP=111 -v /docker/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins elasticsearch:6.8.13
# 注意:linux下docker如果要挂载/usr/share/elasticsearch/data需要加上-e TAKE_FILE_OWNERSHIP=111
# 如果挂载的目录都会新建文件夹,都需要加上-e TAKE_FILE_OWNERSHIP=111
elasticsearch.yml详细配置
cluster.name: elasticsearch
配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
node.name: "Franz Kafka"
节点名,默认随机指定一个name列表中名字,该列表在es的jar包中config文件夹里name.txt文件中,其中有很多作者添加的有趣名字。
node.master: true
指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。
node.data: true
指定该节点是否存储索引数据,默认为true。
index.number_of_shards: 5
设置默认索引分片个数,默认为5片。
index.number_of_replicas: 1
设置默认索引副本个数,默认为1个副本。
path.conf: /path/to/conf
设置配置文件的存储路径,默认是es根目录下的config文件夹。
path.data: /path/to/data
设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例:
path.data: /path/to/data1,/path/to/data2
path.work: /path/to/work
设置临时文件的存储路径,默认是es根目录下的work文件夹。
path.logs: /path/to/logs
设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins: /path/to/plugins
设置插件的存放路径,默认是es根目录下的plugins文件夹
bootstrap.mlockall: true
设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和 ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过`ulimit -l unlimited`命令。
network.bind_host: 192.168.0.1
设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0。
network.publish_host: 192.168.0.1
设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
network.host: 192.168.0.1
这个参数是用来同时设置bind_host和publish_host上面两个参数。
transport.tcp.port: 9300
设置节点间交互的tcp端口,默认是9300。
transport.tcp.compress: true
设置是否压缩tcp传输时的数据,默认为false,不压缩。
http.port: 9200
设置对外服务的http端口,默认为9200。
http.max_content_length: 100mb
设置内容的最大容量,默认100mb
http.enabled: false
是否使用http协议对外提供服务,默认为true,开启。
gateway.type: local
gateway的类型,默认为local即为本地文件系统,可以设置为本地文件系统,分布式文件系统,Hadoop的HDFS,和amazon的s3服务器。
gateway.recover_after_nodes: 1
设置集群中N个节点启动时进行数据恢复,默认为1。
gateway.recover_after_time: 5m
设置初始化数据恢复进程的超时时间,默认是5分钟。
gateway.expected_nodes: 2
设置这个集群中节点的数量,默认为2,一旦这N个节点启动,就会立即进行数据恢复。
cluster.routing.allocation.node_initial_primaries_recoveries: 4
初始化数据恢复时,并发恢复线程的个数,默认为4。
cluster.routing.allocation.node_concurrent_recoveries: 2
添加删除节点或负载均衡时并发恢复线程的个数,默认为4。
indices.recovery.max_size_per_sec: 0
设置数据恢复时限制的带宽,如入100mb,默认为0,即无限制。
indices.recovery.concurrent_streams: 5
设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。
discovery.zen.minimum_master_nodes: 1
设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.ping.timeout: 3s
设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。
discovery.zen.ping.multicast.enabled: false
设置是否打开多播发现节点,默认是true。
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
下面是一些查询时的慢日志参数设置
index.search.slowlog.level: TRACE
index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.query.info: 5s
index.search.slowlog.threshold.query.debug: 2s
index.search.slowlog.threshold.query.trace: 500ms
index.search.slowlog.threshold.fetch.warn: 1s
index.search.slowlog.threshold.fetch.info: 800ms
index.search.slowlog.threshold.fetch.debug:500ms
index.search.slowlog.threshold.fetch.trace: 200ms
Docker安装RabbitMQ
#拉取镜像docker pull rabbitmq:management#启动docker run -di --name=rabbitmq_management -p 5671:5617 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
Docker安装Zookeeper
#拉取镜像docker pull zookeeper#启动docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper:latest
Docker安装Solr
#下载镜像docker pull solr:7.5.0#启动solr容器docker run --name my-solr -d -p 8983:8983 -t solr:7.5.0#访问solr后台在浏览器中打开http://localhost:8983/solr/#/,即可进入solr管理界面#新建solrCore新建solrCore,名称为mycore,执行:docker run --name my-solr -d -p 8983:8983 -t solr:7.5.0#Solr配置持久化#将容器中solr的配置拷贝到宿主机的共享volume中,实现配置持久化。由于我的共享volume是在F盘中#所以执行下面的命令:docker cp my-solr:/opt/solr/ f:/data/solr/#设置中文分词库smartcn-以root身份进入容器内部:docker exec -it --user root my-solr /bin/bash-定位Solr7自带的中文分词jar包所在位置:/opt/solr/contrib/analysis-extras/lucene-libs-进入刚才创建的solr core 的位置:/opt/solr/server/solr/mycore/conf,修改 solrconfig.xml 添加 smartcn 包的 lib 标签-在managed-schema中添加中文分词的FieldType-将新增的配置同步到宿主的共享volume:docker cp my-solr:/opt/solr/server/solr/mycore/conf/solrconfig.xml f:/data/solr/solr/server/solr/mycore/conf/solrconfig.xmldocker cp my-solr:/opt/solr/server/solr/mycore/conf/managed-schema f:/data/solr/solr/server/solr/mycore/conf/managed-schema重启solr: docker restart my-solr进入Docker的Solr容器,执行很多命令都报权限不足:Permission denied解决办法:docker exec -it --user root my-solr /bin/bashhttps://blog.csdn.net/webofrxy/article/details/88585810
Docker安装SVN
# 拉取镜像
docker search svn
docker pull docker.io/garethflowers/svn-server
docker images
# 启动容器
docker run -v D:docker-imagesvnr_repo:/var/opt/svn --name svn-server -p 3690:3690 --privileged=true -e SVN_REPONAME=repository -d docker.io/garethflowers/svn-server
# 参考-
#https://www.cnblogs.com/xiaofengfree/p/13099434.html
# 进入容器内部
docker exec -it svn-server /bin/sh
# 创建一个仓库,名为repository
svnamin create /var/opt/svn/repository
# 进入仓库的配置文件
cd /var/opt/svn/repository/conf
# 使用vim编辑配置文件
vi svnserve.conf
# 打开anon-access = read
# 打开auth-access = write
# 打开password-db = passwd
# 打开authz-db = authz
# 使用vi编辑这个目录下的password
vi password
# 添加一个或多个用户
[users]
user1 = password1
user2 = password2
# 编辑当前目录下的authz 修改权限相关配置
vi authz
# 在[groups]中加入一个组,并且给刚才添加的用户添加到组中(rayfoo,giao)都是刚才添加的用户
[groups]
group1 = rayfoo,giao
# 在[repository:/]中添加权限信息
[respository:/]
@group1 = rw
#保存并退出 重启svn服务
exit
docker restart svn-server
# 客户端拉取
svn co svn://ip/project
http://www.pgygho.com/help/fwq/18791.html
Docker安装WebLogic
docker pull ismaleiva90/weblogic12
docker run --name weblogic -d -p 7001:7001 -p 7002:7002 -p 5556:5556 ismaleiva90/weblogic12:latest
http://localhost:7001/console/
用户名: weblogic
密码: welcome1
Docker安装Nacos
docker pull nacos/nacos-servermkdir -p /root/nacos/init.d /root/nacos/logstouch /root/nacos/init.d/custom.properties#如果是windows自行脑部即可 在文件中写入以下配置management.endpoints.web.exposure.include=*docker run -d -p 8848:8848 -e MODE=standalone -e PREFER_HOST_MODE=hostname -v D:devdocker
acosinit.dcustom.properties:/home/nacos/init.d/custom.properties -v D:devdocker
acoslogs:/home/nacos/logs --name nacos nacos/nacos-server127.0.0.1:8848/nacos nacos/nacos
开机自启 --restart always
参考mysql案例
Docker安装Nginx
容器里不能使用localhoat,必须使用具体的ip地址才行。 而且还是存在一定的问题,不推荐使用
docker pull nginx:1.16.1docker run --name nginx-web -p 80:80 -d nginx:1.16.1docker run -d -p 80:80 --name nginx-web -v D:devdocker
ginxwww:/etc/nginx/html -v D:devdocker
ginxconf
ginx.conf:/etc/nginx/nginx.conf -v D:devdocker
ginxlogs:/var/log/nginx nginx:1.16.1# 创建映射目录mkdir -p /docker/nginx/{html,conf,logs}# 启动容器docker run -d -p 8013:80 --name nginx-hgzsk-ui -v /docker/nginx/html:/etc/nginx/html -v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /docker/nginx/logs:/var/log/nginx nginx:1.16.1
nginx的配置文件要进行基本配置 否则无法正常启动
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#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;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /.ht {
# deny all;
#}
}
# server{
# listen 80;
# charset utf-8;
# server_name 192.168.112.135;
# location / {
# proxy_pass http://192.168.112.135:8080;
# proxy_redirect default;
# }
# }
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
Docker安装jenkins
参考:https://segon.cn/install-jenkins-using-docker.html
docker pull jenkins #拉取最新的jenkins镜像 docker pull jenkins/jenkins:2.222.3-centos
在D盘下创建`D:devdockerjenkins_home` #在本地创建目录 用于映射jenkins windows环境直接创建即可
docker run -d --name jenkins -p 8040:8080 -p 50000:50000 -v D:devdockerjenkins:/var/jenkins_home jenkins/jenkins:2.222.3-centos #映射端口、目录
启动成功后,打开浏览器,输入localhost:8040
进入docker容器,获取初始密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Docker安装hdfs
参考:https://www.cnblogs.com/hongdada/p/9488349.html
# 安装docker compose依赖
yum -y install epel-release
# 安装依赖
yum -y install python-pip
cd /usr/local/bin/
# 拉取包
wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
# 更名
rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64
# 授权
chmod +x /usr/local/bin/docker-compose
# 回到存放yml的目录
cd /docker/hdfs
# 拉取镜像
docker pull singularities/hadoop
# 创建compose配置文件
touch docker-compose.yml
# 输入下面的yml文件
vim docker-compose.yml
# 在运行命令的目录创建docker-compose.yml 添加如下配置
version: "2"
services:
namenode:
image: singularities/hadoop
command: start-hadoop namenode
hostname: namenode
environment:
HDFS_USER: hdfsuser
ports:
- "8020:8020"
- "14000:14000"
- "50070:50070"
- "50075:50075"
- "10020:10020"
- "13562:13562"
- "19888:19888"
datanode:
image: singularities/hadoop
command: start-hadoop datanode namenode
environment:
HDFS_USER: hdfsuser
links:
- namenode
docker-compose up --no-recreate -d
记得开放端口哦
稍等片刻,在浏览器输入http://ip:50070/dfshealth.html#tab-datanode
HDFS常用命令
hdfs基础命令:
1、创建目录
hadoop fs -mkdir /hdfs #在根目录下创建hdfs文件夹
2、查看目录
>hadoop fs -ls / #列出跟目录下的文件列表
drwxr-xr-x - root supergroup 0 2016-03-05 00:06 /hdfs
3、级联创建目录
>hadoop fs -mkdir -p /hdfs/d1/d2
4、级联列出目录
>hadoop fs -ls -R /
drwxr-xr-x - root supergroup 0 2016-03-05 00:10 /hdfs
drwxr-xr-x - root supergroup 0 2016-03-05 00:10 /hdfs/d1
drwxr-xr-x - root supergroup 0 2016-03-05 00:10 /hdfs/d1/d2
5、上传本地文件到HDFS
>echo "hello hdfs" >>local.txt
>hadoop fs -put local.txt /hdfs/d1/d2
6、查看HDFS中文件的内容
>hadoop fs -cat /hdfs/d1/d2/local.txt
hello hdfs
7、下载hdfs上文件的内容
>hadoop fs -get /hdfs/d1/d2/local.txt
8、删除hdfs文件
>hadoop fs -rm /hdfs/d1/d2/local.txt
Deleted /hdfs/d1/d2/local.txt
9、删除hdfs中目录
>hadoop fs -rmdir /hdfs/d1/d2
10、修改文件的权限
>hadoop fs -ls /hdfs
drwxr-xr-x - root supergroup 0 2016-03-05 00:21 /hdfs/d1 #注意文件的权限
>hadoop fs -chmod 777 /hdfs/d1
drwxrwxrwx - root supergroup 0 2016-03-05 00:21 /hdfs/d1 #修改后
11、修改文件所属的用户
>hadoop fs -chown admin /hdfs/d1 #修改文件所属用户为admin
>hadoop fs -ls /hdfs
drwxrwxrwx - admin supergroup 0 2016-03-05 00:21 /hdfs/d1
12、修改文件的用户组
>hadoop fs -chgrp admin /hdfs/d1
>hadoop fs -ls /hdfs
drwxrwxrwx - admin admin 0 2016-03-05 00:21 /hdfs/d1
Docker安装consul
docker pull consul
mkdir -p /docker/consul/{conf,data}
docker run
--name consul
-p 8500:8500
--log-opt max-size=500m
-v /docker/consul/conf/:/consul/conf/
-v /docker/consul/data/:/consul/data/
-d consul
docker run
--name consul-dev
--log-opt max-size=500m
-p 8599:8500
-d consul
docker run
--name consul-test
--log-opt max-size=500m
-p 8600:8500
-d consul
# consul日志非常大,可以增加--log-opt max-size=500m参数限制它的大小
Docker安装tomcat
# 拉取镜像
docker pull tomcat:8.5.66
# 创建映射目录
mkdir -p /docker/tomcat/opt
# 创建一个临时容器,用于拷贝文件
docker run -d --rm --name tomcat-test tomcat:8.5.66
# 复制文件
docker cp tomcat-test:/usr/local/tomcat/conf /docker/tomcat
docker cp tomcat-test:/usr/local/tomcat/webapps /docker/tomcat
# 停止并删除容器
docker stop tomcat-test
# 正式创建容器
docker run --name tomcat8566 -d -p 8080:8080 -v /docker/tomcat/opt:/opt -v /docker/tomcat/conf:/usr/local/tomcat/conf -v /docker/tomcat/webapps:/usr/local/tomcat/webapps tomcat:8.5.66
Docker安装PostgreSQL
阿里云RDS - Postgres的推荐版本是12和11,这里我们选择12的版本进行安装。
docker pull postgres:12.4
docker run --name postgres12_4 -e POSTGRES_PASSWORD=3992209a. -e TZ=PRC -p 15432:5432 -v /docker/postgres/data:/var/lib/postgresql/data -d postgres:12.4