1、确保服务器能通外网
2、uname -r 查看CentOS版本 须大于3.10版本
3、yum update 更新yum,确保yum是最新的
4、sudo yum install -y yum-utils 安装工具包,拉取相关镜像时必要工具
5、sudo yum-config-manager --add-repo download.docker.com/linux/cento…
设置远程仓库
6、sudo yum install docker-ce 安装docker
说明:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
7、sudo systemctl start docker 启动docker
8、docker version 查看docker版本
9、sudo systemctl enable docker 设置开机启动
docker命令自动补全
yum install -y bash-completion
source /usr/share/bash-completion/completions/docker
source /usr/share/bash-completion/bash_completion
docker 更换镜像
vim /etc/docker/daemon.json
加入下面的配置
{ "registry-mirrors": ["iopsw3zp.mirror.aliyuncs.com"] }
重启加载 sudo systemctl daemon-reload
重启docker sudo systemctl restart docker
10、安装java 配置环境变量
yum install java-1.8.0-openjdk* -y
下载JDK1.8包,拷入usr/local/src目录下
tar -zxvf jdk-8u161-linux-x64.tar.gz 解压
mv jdk1.8.0_161 jdk8 重命名
vi /etc/profile 编辑环境变量配置文件,在最后加入以下内容:
export JAVA_HOME=/usr/local/jdk8
export PATH=PATH
export CLASSPATH=.:JAVA_HOME/lib/tools.jar
source /etc/profile 使环境生效
11、安装mysql数据库
pull mysql:5.7 拉取数据库镜像
docker run -p 3306:3306 --name mysql \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
说明:-p 启动容器,映射端口,指定容器名称
-v 挂载相关mysql系统文件到指定本地目录(先在本地新建相关目录)
-e 配置mysql初始密码
-d 指定的当前镜像名称
systemctl status firewalld
docker exec -it b015e0f675e8 /bin/bash 进入容器
mysql -uroot -p
12、安装redis
Redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率.
docker run ‐d ‐‐name redis ‐‐restart=always \
‐p 6379:6379 redis ‐‐requirepass "password"
docker pull redis:latest 拉取镜像
docker run -itd --name redis -p 6379:6379 redis 启动reids
修改密码:
进入redis的容器:docker exec -it 容器ID bash
运行命令:redis-cli
查看现有的redis密码:config get requirepass
设置 redis 密码:config set requirepass password (password为设置的密码)
13、安装nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务,同时也提供了IMAP/POP3/SMTP服务
docker pull nginx 拉取nginx
创建挂载目录:conf、conf.d、html、logs,建立nginx文件 :nginx.conf、default.conf到相应目录下
然后进行目录挂载
docker run --name nginxda -p 8888:8888 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/conf.d:/etc/nginx/conf.d \
-v /data/nginx/logs:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-d nginx
其他:
如果是同一台服务器发布两个nginx 注意要改端口
default.conf
启动指定端口
14、部署KKfileview
文件预览服务
docker pull keking/kkfileview 拉取镜像
运行 docker run --name "kkfileview" -it -p 8012:8012 keking/kkfileview
docker cp kkfileview:/opt/kkFileView-3.5/bin/kkFileView-3.5.jar /data/kkFileView/kkFileView-3.5.jar
15、部署minio
docker run -d -p 9000:9000 -p 9001:9001 --name minio --restart=always \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
minio/minio server /data --console-address ":9000" -address ":9001"
16启动生成环境jar包
nohup java -jar -Dspring.profiles.active=prod blade-api.jar > out.log 2>&1 &
17 docker 查看容器内部IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器ID
18 docker 部署集群elasticsearch
修改配置sysctl.conf vi /etc/sysctl.conf
添加配置 vm.max_map_count=262144
重新加载 sysctl -p
拉取镜像 docker pull elasticsearch:7.1.1
创建 文件夹 mkdir /elk/conf mkdir /elk/data mkdir /elk/logs
在conf 文件下创建 elasticsearch.ymldw
文件内容:
cluster.name: es-docker-cluster
node.name: es01
network.host: 10.130.200.31
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.seed_hosts: ["10.130.200.32:9300","10.130.200.33:9300"]
cluster.initial_master_nodes: ["es01","es02","es03"]
discovery.type 一共两种模式 zen 和 single-node, 集群模式需要为zen,因此启动集群方式增加了 -e “discovery.type=zen
运行容器
docker run --restart=always --network=host \
-d -p 9201:9200 -p 9301:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e TAKE_FILE_OWNERSHIP=true \
-e "discovery.type=zen" \
-v /elk/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /elk/elasticsearch/data:/usr/share/elasticsearch/data \
-v /elasticsearch/logs:/usr/share/elasticsearch/logs \
--name es01 elasticsearch:7.1.1