centos7安装docker及Java常用开发环境
1.安装docker卸载旧版本sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-lo
·
1.安装docker
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
set up the repository
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Install Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Start Docker
sudo systemctl start docker
开机自启docker
sudo systemctl enable docker
设置阿里云镜像加速(链接用你们自己的链接)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2. 安装常用运行环境
2.1安装mysql
挂载到宿主机的四个文件夹提前建好
#创建挂载目录
mkdir -p /home/docker/mysql/{log,data,conf,mysql-files}
#创建mysql容器的命令
docker run -p 3306:3306 --restart=always --name mysql \
-v /home/docker/mysql/log:/var/log/mysql \
-v /home/docker/mysql/data:/var/lib/mysql \
-v /home/docker/mysql/conf:/etc/mysql \
-v /home/docker/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.24
2.2 安装redis
首先把挂载到宿主机的文件夹和配置文件提前建好
#创建挂载目录
mkdir -p /home/docker/redis/data
#然后创建redis容器
docker run -p 6379:6379 --restart=always --name redis \
-v /home/docker/redis/data:/data \
-d redis redis-server --appendonly yes --requirepass redis
2.3 安装nginx
首先把挂载到宿主机的文件夹提前建好
#创建挂载目录
mkdir -p /home/docker/nginx/{html,logs}
#先运行一次容器(为了拷贝配置文件):
docker run -p 80:80 --name nginx \
-v /home/docker/nginx/html:/usr/share/nginx/html \
-v /home/docker/nginx/logs:/var/log/nginx \
-d nginx
#将容器内的配置文件拷贝到指定目录并修改目录名称
docker container cp nginx:/etc/nginx /home/docker/nginx/ && cd /home/docker/nginx && mv nginx conf && docker rm -f nginx
#使用如下命令启动Nginx服务:
docker run -p 80:80 --restart=always --name nginx \
-v /home/docker/nginx/html:/usr/share/nginx/html \
-v /home/docker/nginx/logs:/var/log/nginx \
-v /home/docker/nginx/conf:/etc/nginx \
-d nginx
#在/home/docker/nginx/html下创建index.html文件就可以直接访问了
2.4 安装RabbitMQ
首先把挂载到宿主机的文件夹提前建好
#使用如下命令启动RabbitMQ服务:
docker run -p 5672:5672 -p 15672:15672 --restart=always --name rabbitmq \
-d rabbitmq
#进入容器并开启管理功能:
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_management
#访问15672端口输入账号密码并登录:guest guest,为了安全务必更改账号和密码
2.5 Elasticsearch安装
首先把挂载到宿主机的文件夹提前建好
#创建挂载目录
mkdir -p /home/docker/elasticsearch/{plugins,data,config} && chmod 777 /home/docker/elasticsearch/*
cd /home/docker/elasticsearch/config && vim elasticsearch.yml
#在elasticsearch.yml中输入以下内容
http.host: 0.0.0.0
#使用如下命令启动Elasticsearch服务:
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
--restart=always \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx512m" \
-v /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-d elasticsearch:7.17.5
#安装中文分词器IKAnalyzer,并重新启动:
docker exec -it elasticsearch /bin/bash
#此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.5/elasticsearch-analysis-ik-7.17.5.zip
#重启容器
docker restart elasticsearch
#9200端口访问es
2.6 安装Logstash
首先把挂载到宿主机的文件夹提前建好
#创建/home/docker/logstash目录,并且创建配置文件logstash.conf
mkdir -p /home/docker/logstash/{pipeline,config}
vim /home/docker/logstash/pipeline/logstash.conf
#日志采集入口,项目的logback会和这个input交互
input {
tcp {
#模式为 server
mode => "server"
#ip为logstash的地址
host => "192.168.174.20"
#监听的端口,以此端口获得日志数据
port => 9413
#数据格式为json
codec => json_lines
}
}
#日志存储目标:es
output {
elasticsearch {
hosts => "192.168.174.20:9200"
index => "springboot-logs-%{+YYYY.MM.dd}"
codec => "json"
}
}
vim /home/docker/logstash/config/logstash.yml
api.http.host: 0.0.0.0
xpack.monitoring.elasticsearch.hosts: ["http://192.168.174.20:9200"]
#使用如下命令启动Logstash服务;
docker run --name logstash -m 1000M --restart=always -p 9600:9600 -p 9413:9413 --privileged=true -e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" -v /home/docker/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -v /home/docker/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml -d logstash:7.17.5
#进入容器内部,安装json_lines插件
docker exec -it logstash /bin/bash
logstash-plugin install --no-verify logstash-codec-json_lines
2.7 Kibana安装
#使用如下命令启动Kibana服务:
docker run --name kibana --restart=always -p 5601:5601 \
-e ELASTICSEARCH.HOSTS=http://192.168.174.20:9200 \
-d kibana:7.17.5
2.8 MongoDB安装
首先把挂载到宿主机的文件夹提前建好
#把挂载的目录创建好
mkdir -p /home/docker/mongo/db
#使用docker命令启动:
docker run -p 27017:27017 --restart=always --name mongo \
-v /home/docker/mongo/db:/data/db \
-d mongo --auth
docker exec -it mongo mongosh admin
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
db.auth('admin','123456')
2.9 tomcat安装
#先运行一次容器(为了拷贝配置文件)
docker run --name tomcat -p 8080:8080 -d tomcat:9.0.45
#将容器内的配置文件拷贝到指定目录
docker container cp tomcat:/usr/local/tomcat/webapps.dist /home/docker/tomcat/
docker container cp tomcat:/usr/local/tomcat/conf /home/docker/tomcat/
docker container cp tomcat:/usr/local/tomcat/logs /home/docker/tomcat/
#修改修改文件名称
mv webapps.dist webapps
#终止并删除容器:
docker stop tomcat
docker rm tomcat
#使用如下命令启动tomcat服务
docker run --name tomcat --restart=always -p 8080:8080 \
-v /home/docker/tomcat/webapps:/usr/local/tomcat/webapps \
-v /home/docker/tomcat/conf:/usr/local/tomcat/conf \
-v /home/docker/tomcat/logs:/usr/local/tomcat/logs \
-d tomcat:9.0.45
2.10 Canal安装
1.首先开启mysql的binlog日志,创建/home/docker/mysql/conf/my.cnf配置文件,并且把下面的配置放到my.cnf中,之后再重启mysql
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
binlog-do-db=imooc-hire-dev # 设置怼哪个数据库生效
2.在mysql中创建canal用户
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
3.使用docker命令安装canal
docker run -p 11111:11111 --name canal \
-e canal.destinations=imooc \
-e canal.instance.mysql.slaveId=100 \
-e canal.instance.master.address=192.168.174.20:3306 \
-e canal.instance.dbUsername=canal \
-e canal.instance.dbPassword=canal \
-e canal.instance.connectionCharset=UTF-8 \
-e canal.instance.filter.regex=imooc-hire-dev.data_dictionary \
--restart=always -d canal/canal-server:v1.1.6
4.进入canal容器,查看日志文件canal-server/logs/imooc/imooc.log中有没有错误,是否运行成功
2.11 ZooKeeper安装
mkdir -p /home/docker/zookeeper/{data,logs,conf}
docker run -p 2181:2181 --restart=always --name zookeeper -d zookeeper:3.8.1
docker container cp zookeeper:/conf/zoo.cfg /home/docker/zookeeper/conf/
docker container cp zookeeper:/conf/logback.xml /home/docker/zookeeper/conf/
docker rm -f zookeeper
docker run -p 2181:2181 --restart=always --name zookeeper \
-v /home/docker/zookeeper/data:/data \
-v /home/docker/zookeeper/conf:/conf \
-v /home/docker/zookeeper/logs:/logs \
-d zookeeper:3.8.1
更多推荐
已为社区贡献1条内容
所有评论(0)