若依Spring Cloud开源代码梳理(一)环境安装(docker)

293 阅读4分钟

docker相关依赖安装

docker安装mysql

docker pull mysql:latest
docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0

解析:

  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
  • **-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。

docker安装nacos

blog.csdn.net/weixin_4225…

$ docker pull nacos/nacos-server
#新建logs目录 (根据实际情况创建)
mkdir -p /opt/nacos/logs/   
#新建配置文件
touch -p /opt/nacos/conf/application.properties 
#编辑文件
vim application.properties
docker run -d -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -e JVM_XMN=256m -v /usr/bzdl/nacos/conf:/home/nacos/conf -v /usr/bzdl/nacos/logs:/home/nacos/logs -v /usr/bzdl/nacos/data:/home/nacos/data -p 8848:8848 -p 9848:9848 -p 9849:9849 --name inacos --restart=always nacos/nacos-server

nacos配置中心使用

conf文件中修改application.properties文件,添加数据库连接

docker安装sentinel

docker pull bladex/sentinel-dashboard:1.7.0
docker run --name sentinel -d  -p 8858:8858  bladex/sentinel-dashboard:1.7.0

docker安装redis

第一步 pull redis

命令:docker pull redis

第二步 创建redis管理目录,方便后期管理

命令:
mkdir /etc/redis
mkdir /etc/redis/data

第三步 redis 启动

命令:
docker run -p 6379:6379 --name redis
-v /etc/redis/redis.conf:/etc/redis/redis.conf
-v /etc/redis/data:/data
-d redis redis-server /etc/redis/redis.conf --appendonly yes
注:解析-p 6379:6379,-p 端口:映射端口;为了好看所以做了换行,执行的时候还是需要改成一行,每行一个空格隔开就可以了;

第四步 查看是否启成功

命令:docker ps

结束,用redis客户端连接就好了,密码为空~~

注:如果没有看到启动成功,可能存在的问题:
优先查看日志:
命令:docker logs 容器ID(可以用docker ps -a 查看)
问题如下:
1、chown: changing ownership of '.': Permission denied
解决:1)命令:vim /etc/sysconfig/selinux
2)将SELINUX=enforcing 改为 SELINUX=disabled
3)重启linux,命令:reboot
4)删除容器,docker rm 容器ID
5)执行第三步重新启动
目的是关掉selinux,如果是生产环境,请用其它方式处理

docker安装RabbitMQ

cd /opt
mkdir /rabbitmq/data
# 拉取镜像
docker pull rabbitmq
# 查看镜像
docker images
# 拉取镜像到本地仓库,这里是直接安装最新的,
# 如果需要安装其他版本在rabbitmq后面跟上版本号即可
# docker pull rabbitmq
# 启动rabbitMq
docker run -d \
-v /opt/rabbitmq/data:/var/lib/rabbitmq \
-p 5672:5672 -p 15672:15672 --name rabbitmq --restart=always \
--hostname myRabbit rabbitmq:3-management

# 启动rabbitmq_management, rabbitmq 为容器的名称,使用id也可以
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
# ip+端口号登录,用户名和密码默认都是guest

docker安装minio

docker run \
        --name=minio \
        --env=MINIO_ROOT_PASSWORD=admin123456 \
        --env=MINIO_ROOT_USER=admin \
        --volume=/usr/bzdl/minio/data:/data \
        --volume=/usr/bzdl/minio/config:/root/.minio \
        --volume=/data \
        --restart=always \
        -p 9000:9000 \
        -p 9001:9001 \
        minio/minio \
        server /data --console-address :9000 --address :9001

docker安装ElasticSearch

docker pull elasticsearch:7.7.0
宿主机位置容器位置
/usr/local/elasticsearch/config/usr/share/elasticsearch/config/elasticsearch.yml
/usr/local/elasticsearch/data/usr/share/elasticsearch/data
/usr/local/elasticsearch/plugins/usr/share/elasticsearch/plugins
echo "http.host: 0.0.0.0">>/usr/local/elasticsearch/config/elasticsearch.yml

赋权:chmod -R 777 /usr/local/elasticsearch/

# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
# -e ES_JAVA_OPTS="-Xms512m -Xmx1024m":配置内存大小
 
 
docker run --name elasticsearch \
-p 8885:9200 \
-p 8884:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
-e TZ=Asia/Shanghai \
-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.7.0

docker 安装skywalking

# 拉去服务端镜像
# es7 指 使用 ElasticSearch7 作为数据源
docker pull apache/skywalking-oap-server:8.1.0-es7
 
# 拉去UI 镜像
docker pull apache/skywalking-ui:8.1.0
# 运行 skywalking-oap-server
docker run --name skywalking_oap_server \
--restart always -d \
-p 8883:1234 \
-p 8882:11800 \
-p 8881:12800 \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.187.132:8885 \
apache/skywalking-oap-server:8.1.0-es7
 
# 运行 skywalking-ui
docker run -d --name skywalking_ui \
-p 8080:8080 \
-e SW_OAP_ADDRESS=192.168.187.132:8881 \
-v /etc/localtime:/etc/localtime:ro \
--restart=always -d \
apache/skywalking-ui:8.1.0

docker安装kibana

docker pull kibana:7.7.0 #和es版本保持一致
#创建挂载的配置存放路径
mkdir -p /workfile/kibana 
chmod -R 777 /workfile/es
#### 创建配置文件
echo "server.host: 0.0.0.0" >> /workfile/kibana/kibana.yml
echo "elasticsearch.hosts: http://192.168.187.132:8885" >> /workfile/kibana/kibana.yml 
#### docker 启动kibana
 docker run --name kibana \
 -v /workfile/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 \
 -d kibana:7.7.0