一、zabbix部署
需求:
因最近项目过多,人力监控耗费时间,打算部署一个zabbix,但又不想部署在宿主机上,就想起了docker,docker快速的移植性是最大的亮点,好了,言归正传开始干。
部署:
①yum安装doker环境
②配置docker国内镜像源
③安装mysql
#新建mysql映射目录 mkdir -p /docker/data/zabbix/mysql #赋权 chown mysql.mysql /docker/data/zabbix/mysql -R #安装mysql docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix"
-e MYSQL_PASSWORD="zabbix_passwd" -e MYSQL_ROOT_PASSWORD="root_passwd"
-v /etc/localtime:/etc/localtime
-v /etc/timezone:/etc/timezone -v /docker/data/zabbix/mysql:/var/lib/mysql
-p 3306:3306 -d mysql:5.7
注意:
如果配置这个时区参数,-v /etc/timezone:/etc/timezone
请确保你本地存在/etc/timezone
文件,而不是文件夹,否则会报错,如果没有这个文件,创建即可。vi /etc/timezone
内容为: Asia/shanghai
④安装zabbix-server
docker run --name zabbix-server-mysql -t -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_passwd" -e MYSQL_ROOT_PASSWORD="root_passwd" --link mysql-server:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:latest
⑤安装nginx
docker run --name zabbix-web-nginx-mysql -t
-v /etc/localtime:/etc/localtime:ro
-v /etc/timezone:/etc/timezone:ro -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_passwd" -e MYSQL_ROOT_PASSWORD="root_passwd" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 80:80 -d zabbix/zabbix-web-nginx-mysql:latest
安装完成,浏览器上访问:127.0.0.1/zabbix
用户名:Admin
密码:zabbix
安装zabbix-agent
docker run --name zabbix-agent -t -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -e ZBX_HOSTNAME=Hostname -e ZBX_SERVER_HOST=Zabbix_Server_IP
-e UnsafeUserParameters=1
-e HostMetadataItem=system.uname -p 10050:10050 -d zabbix/zabbix-agent
HostMetadataItem=system.uname #用于自动注册
二、redis部署
# 查找redis镜像 docker search redis # 下载官方镜像 docker pull redis # 启动redis服务、设置密码、开启持久化 docker run --name redis -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "password"
连接redis测试
# 连接redis docker exec -it redis容器ID redis-cli # 查看所有key 127.0.0.1:6379> KEYS * (error) NOAUTH Authentication required. # 认证 127.0.0.1:6379> auth password OK
三、部署tomcat
docker run -e TZ="Asia/Shanghai" -it -d --name tomcat-test -p 8080:8080 --restart=always -v /home/docker/data/tomcat/conf:/usr/local/tomcat/conf -v /home/docker/data/tomcat/logs:/usr/local/tomcat/logs -v /home/docker/data/tomcat/webapps:/usr/local/tomcat/webapps docker.io/tomcat:9.0-jdk8-corretto
四、部署oracle
# 下载镜像(这个镜像没有直接安装好oracle,他帮我们配置好了环境,提供了安装脚本,我们只需要按照要求把oracle的安装目录配置好,启动镜像,即可) docker pull jaspeen/oracle-11g # 准备oracle 11g安装文件(linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip两个压缩包) # 目录结构 . └─oracleinstall └─database ├─doc ├─install ├─response ├─rpm ├─sshsetup ├─stage ├─runInstaller └─welcome.html # 安装oracle docker run --privileged --name oracle11g -p 1521:1521 -v /home/docker/data/oracle/oracleinstall:/install jaspeen/oracle-11g # 解锁scott用户 docker exec -it oracle11g /bin/bash su - oracle sqlplus / as sysdba SQL> alter user scott account unlock; User altered. SQL> commit; Commit complete. SQL> conn scott/tiger ERROR: ORA-28001: the password has expired Changing password for scott New password: Retype new password: Password changed Connected. SQL> # 使用DB工具可以连接oracle了
参考:https://blog.csdn.net/qq_39316391/article/details/100542751
五、部署FastDFS
# 下载镜像 docker pull delron/fastdfs:latest # 运行tracker容器(默认端口22122) docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker # 运行storage容器(也可以将/etc/fdfs/storage.conf和nginx.conf持久化) docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage # 配置storage.conf(默认端口8888) vi /etc/fdfs/storage.conf # 配置storage容器中的nginx.conf server { listen 8888; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 重启storage容器 docker restart storage # 进入storage容器测试 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf cumt.png group1/M00/00/00/Cm4_FF7q2tiAUqonAAHnw6T_mTQ509.jpg
# 指定storage上传
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf cumt.png group1/M00/00/00/Cm4_FF7q2tiAUqonAAHnw6T_mTQ509.jpg 10.0.3.5:23000 # 浏览器成功访问图片http://storageIP:8888/group1/M00/00/00/Cm4_FF7q2tiAUqonAAHnw6T_mTQ509.jpg
六、部署Mysql
docker run -idt -p 13306:3306 --name mysql --restart=always -e TZ="Asia/Shanghai" -e MYSQL_ROOT_PASSWORD=123456 -v /home/docker/mysql5.6.50/config:/etc/mysql -v /home/docker/mysql5.6.50/data:/usr/data mysql:5.6.50