https://github.com/apache/skywalking-docker/tree/master/6/6.3
https://hub.docker.com/r/apache/skywalking-oap-server
https://hub.docker.com/r/apache/skywalking-ui
mkdir /opt/skywalking-oap-server
wget -P /opt/skywalking-oap-server https://github.com/apache/skywalking-docker/blob/master/6/6.3/oap/docker-entrypoint.sh
wget -P /opt/skywalking-oap-server https://github.com/apache/skywalking-docker/blob/master/6/6.3/oap/log4j2.xml
vim /opt/skywalking-oap-server/Dockerfile
FROM apache/skywalking-oap-server:6.3.0 EXPOSE 12800 11800
vim /opt/skywalking-oap-server/docker-compose.yml
es:
注:不能是7.x.x版本,这里用6.8.3版本
version: '3.3' services: oap: image: skywalking-oap-server restart: always container_name: skywalking-oap-server build: context: . dockerfile: Dockerfile restart: always ports: - 11800:11800 - 12800:12800 environment: SW_STORAGE: elasticsearch SW_STORAGE_ES_CLUSTER_NODES: 192.168.1.101:9200 volumes: - ./bin/oapServiceInit.sh:/skywalking/bin/oapServiceInit.sh
mysql:
version: '3.3' services: oap: image: skywalking-oap-server restart: always container_name: skywalking-oap-server build: context: . dockerfile: Dockerfile restart: always ports: - 11800:11800 - 12800:12800 environment: SW_STORAGE: mysql volumes: - ./config/datasource-settings.properties:/skywalking/config/datasource-settings.properties - ./oap-libs/mysql-connector-java-5.1.47.jar:/skywalking/oap-libs/mysql-connector-java-5.1.47.jar - ./bin/oapServiceInit.sh:/skywalking/bin/oapServiceInit.sh
下载mysql-connector-java-5.1.47.jar
wget -P /opt/downloads https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
mkdir /opt/skywalking-oap-server/oap-libs
tar zxvf /opt/downloads/mysql-connector-java-5.1.47.tar.gz -C /opt/skywalking-oap-server/oap-libs
cp /opt/skywalking-oap-server/oap-libs/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /opt/skywalking-oap-server/oap-libs/
rm -rf /opt/skywalking-oap-server/oap-libs/mysql-connector-java-5.1.47
在Mysql创建skywalking库
mkdir -p /opt/skywalking-oap-server/config
vim /opt/skywalking-oap-server/config/datasource-settings.properties
jdbcUrl=jdbc:mysql://192.168.1.101:3306/skywalking dataSource.user=root dataSource.password=root dataSource.cachePrepStmts=true dataSource.prepStmtCacheSize=250 dataSource.prepStmtCacheSqlLimit=2048 dataSource.useServerPrepStmts=true dataSource.useLocalSessionState=true dataSource.rewriteBatchedStatements=true dataSource.cacheResultSetMetadata=true dataSource.cacheServerConfiguration=true dataSource.elideSetAutoCommits=true dataSource.maintainTimeStats=false dataSource.useSSL=false
初始化es或mysql脚本
mkdir /opt/skywalking-oap-server/bin/
vim /opt/skywalking-oap-server/bin/oapServiceInit.sh
#!/usr/bin/env sh PRG="$0" PRGDIR=`dirname "$PRG"` [ -z "$OAP_HOME" ] && OAP_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` OAP_LOG_DIR="${OAP_HOME}/logs" JAVA_OPTS=" -Xms256M -Xmx512M" if [ ! -d "${OAP_HOME}/logs" ]; then mkdir -p "${OAP_LOG_DIR}" fi _RUNJAVA=${JAVA_HOME}/bin/java [ -z "$JAVA_HOME" ] && _RUNJAVA=java CLASSPATH="$OAP_HOME/config:$CLASSPATH" for i in "$OAP_HOME"/oap-libs/*.jar do CLASSPATH="$i:$CLASSPATH" done OAP_OPTIONS=" -Doap.logDir=${OAP_LOG_DIR}" eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${OAP_OPTIONS} -classpath $CLASSPATH -Dmode=init org.apache.skywalking.oap.server.starter.OAPServerStartUp \ 2>${OAP_LOG_DIR}/oap.log 1> /dev/null &" if [ $? -eq 0 ]; then sleep 1 echo "SkyWalking OAP started successfully!" else echo "SkyWalking OAP started failure!" exit 1 fi
cd /opt/skywalking-oap-server
docker-compose build
docker-compose up -d --force-recreate
docker-compose down
docker-compose restart
查看日志
docker logs --tail="500" skywalking-oap-server
必须在容器启动后进入容器后执行初始化脚本:
docker exec -it skywalking-oap-server /bin/bash
chmod 777 /skywalking/bin/oapServiceInit.sh
/skywalking/bin/oapServiceInit.sh
--------------------------------------------------------------------
mkdir /opt/skywalking-ui
wget -P /opt/skywalking-ui https://github.com/apache/skywalking-docker/blob/master/6/6.3/ui/docker-entrypoint.sh
wget -P /opt/skywalking-ui https://github.com/apache/skywalking-docker/blob/master/6/6.3/ui/logback.xml
vim /opt/skywalking-ui/Dockerfile
FROM apache/skywalking-ui:6.3.0 EXPOSE 8080
vim /opt/skywalking-ui/docker-compose.yml
version: '3.3' services: oap: image: skywalking-ui restart: always container_name: skywalking-ui build: context: . dockerfile: Dockerfile restart: always ports: - 18080:8080 environment: SW_OAP_ADDRESS: 192.168.1.101:12800
ui的路径为/skywalking/webapp/webapp.yml
cd /opt/skywalking-ui
docker-compose build
docker-compose up -d --force-recreate
docker-compose down
docker-compose restart
查看日志
docker logs --tail="500" skywalking-ui
进入容器
docker exec -it skywalking-ui /bin/bash