1.docker安装
ubuntu centos差不多,教程centos安装docker
2.dokcer安装mysql
Ubuntu centos差不多,教程docker安装mysql
创建数据库:skywalking(skywalking-oap-server会用到),配置用户名root,密码Xx1234567
3.下载mysql-connector-java.jar
#创建文件夹
mkdir /opt/skywalking-oap-server/oap-libs
#下载mysql-connector-java.jar,将mysql-connector-java.jar拷贝到/opt/skywalking-oap-server/oap-libs
4.下载skywalking oap镜像并运行容器
docker run --name skywalking-oap-server --restart always -d \
-p 1234:1234 -p 11800:11800 -p 12800:12800 \
-e SW_STORAGE=mysql \
-e SW_JDBC_URL="jdbc:mysql://IP地址:3306/skywalking?useSSL=false" \
-e SW_DATA_SOURCE_USER=root \
-e SW_DATA_SOURCE_PASSWORD=Xx1234567\
-e SW_DATA_SOURCE_CACHE_PREP_STMTS="true" \
-e SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE=250 \
-e SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT=2048 \
-e SW_DATA_SOURCE_USE_SERVER_PREP_STMTS="true" \
-e SW_STORAGE_MYSQL_QUERY_MAX_SIZE=5000 \
-v /opt/skywalking-oap-server/oap-libs/mysql-connector-java-5.1.47.jar:/skywalking/oap-libs/mysql-connector-java-5.1.47.jar \
apache/skywalking-oap-server
说明:
–name skywalking-oap-server:运行后容器名称
-p 1234:1234 -p 11800:11800 -p 12800:12800:oap需要的一些端口
-e SW_STORAGE以及下面的配置:指定mysql地址和skywalking的数据库
-v /opt/skywalking-oap-server/oap-libs/mysql-connector-java-5.1.47.jar:/skywalking/oap-libs/mysql-connector-java-5.1.47.jar:配置mysql的connector
apache/skywalking-oap-server:最新的skywalking-oap-server镜像
5.下载skywalking web ui 镜像并运行容器
docker run --name skywalking-ui --restart always -d -p 8088:8080 -e SW_OAP_ADDRESS=IP地址:12800 apache/skywalking-ui
说明:
–name skywalking-ui:运行后容器名称
-p 8088:8080:skywalking-web-ui默认在8080端口,为了避免冲突,建议修改端口,这里指定8088
-e SW_OAP_ADDRESS=ip地址:12800:需要配置成上面设置的skywalking-oap-server的ip
apache/skywalking-ui:最新的apache/skywalking-ui镜像
6.在服务启动的命令里面设置skywalking探针服务
下载skywalking-agent,并解压到/opt/skywalking-oap-server/agent
java -javaagent:/opt/skywalking-oap-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=xxx -Dskywalking.collector.backend_service=IP地址:11800 -jar xxxxx.jar
说明:
xxx指要监控的服务名称,xxxxx指服务jar包名
或者制作一个镜像来运行
Dockerfile内容
# 基础镜像是docker仓库的java:8(也就是jdk8的意思)
FROM java:8
# 简化 jar 的名字路径 (左边是服务器中jar包的路径,因为当前文件是和jar包同级,所以直接写名字即可,右边是镜像中要存放jar包的路径)
COPY jar包名.jar /jar包名.jar
COPY agent/ /agent
# 执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就此行,后面的jar包路径就是上面要设置的jar包路径)
CMD java -javaagent:/agent/skywalking-agent.jar -Dskywalking.agent.server_name=服务名 -Dskywalking.collector.backend_service=IP地址:11800 -jar jar包名.jar
# 设置对外端口为 80
EXPOSE 80
要把agent目录一起拷贝到和jar包名.jar同一个目录下
然后在当前目录build
docker build -t Test:v1 .
运行镜像
docker run --name Test -p 8081:80 -d Test:v1