一、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 : \
-d zabbix/zabbix-agent

HostMetadataItem=system.uname #用于自动注册

二、redis部署

# 查找redis镜像
docker search redis # 下载官方镜像
docker pull redis # 启动redis服务、设置密码、开启持久化
docker run --name redis -p : -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:> KEYS *
(error) NOAUTH Authentication required. # 认证
127.0.0.1:> auth password
OK

三、部署tomcat

docker run -e TZ="Asia/Shanghai" -it -d --name tomcat-test -p : --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 : -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-: 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

docker下部署服务的更多相关文章

  1. 设想 Docker 下部署 KVM

    设想 Docker 下部署 KVM 一.安装 $ yum -y install kvm # kvm base , must $ yum -y install libvirt -y # libvirtd ...

  2. docker swarm 部署服务时,限制服务启动后所在的机器

    借助容器技术,可以方便的在不同环境下部署服务,保证服务环境的一致性.docker swarm这个东西,可以方便的对容器进行编排管理. docker swarm集群中,有manager节点与worker ...

  3. 在Docker下部署Nginx

    在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...

  4. Docker下部署springboot项目

    1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...

  5. 使用docker compose部署服务

    谈到微服务的话题,技术上我们往往会涉及到多服务.多容器的部署与管理. Docker 有三个主要的作用:Build, Ship和Run.使用docker compose我们可以在Run的层面解决很多实际 ...

  6. Docker 下部署hadoop集群

    一.主机规划 3台主机:1个master.2个slaver/worker ip地址使用docker默认的分配地址: master: 主机名: hadoop2.ip地址: 172.17.0.2 slav ...

  7. docker下部署spring boot

    第 5 章 Docker + Spring Boot: 快速搭建和部署Java Web应用 0.你需要: JDK 1.8 : java -version Maven 3.0+ : mvn -v Git ...

  8. Tensorflow Serving Docker compose 部署服务细节(Ubuntu)

    [摘要] Tensorflow Serving 是tf模型持久化的重要工具,本篇介绍如何通过Docker compose搭建并调试TensorFlow Serving TensorFlow Servi ...

  9. 记离线部署docker,以及docker下部署zabbix

    一.离线安装docker 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 上传软件并解压 [root@localhost op ...

随机推荐

  1. local模式运行spark-shell时报错 java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':

    先前在local模式下,什么都不做修改直接运行./spark-shell 运行什么问题都没有,然后配置过在HADOOP yarn上运行,之后再在local模式下运行出现以下错误: java.lang. ...

  2. ios兼容

    border-radius在ios的兼容:-webkit-appearance:none;  加上这个属性,可以保证安卓和ios的圆角一致 上传图片,这段没有代码没有管图片拍摄的方位, var _th ...

  3. Tkinter 之RadioButton单选框标签

    一.参数说明 语法 作用 Radiobutton(root,text='xxxx') 单选框文本显示内容 Radiobutton(root,variable=color) 单选框索引变量,通过变量的值 ...

  4. 【2018.08.01】(表/栈/队列/大小顶堆)学习Stark和Queue算法小记

    Train Problem I As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of st ...

  5. C# ASP.NET 控制windows服务的 开启和关闭 以及重启

    用ASP.NET控制Windows服务的开启与关闭效果如图 代码 首页页面需要添加引用 页面的pageload中 实例化windows服务 protected void Page_Load(objec ...

  6. php手记之02-tp5请求参数读取三种方式

    01-[推荐方式] 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息.在Thinkphp5.1中,获取请求对象数据,是由think\Request类负责,在很多场合下并不需 ...

  7. delphi 解决android 9上无法使用http协议

    delphi 解决android 9上无法使用http协议 安卓9不让客户端通过非https方式访问服务端数据(不允许发送明文http请求)的问题. 解决方法: 1.选择安卓平台编译一次程序,在项目根 ...

  8. VisualStudio版本号

    VisualStudio的工程文件,后面的数字对应的VS的版本号, 71表示的VS2003, 80表示VS2005, 90表示VS2008, 10表示VS2010等.

  9. 视频软件——ffmpeg

    1.官网下载地址:http://ffmpeg.org/download.html ffplay.exe ffplay是用于播放的应用程序. ffplay name.mp4 ffprobe.exe ff ...

  10. 对Mysql数据表本身进行操作

    创建实验环境 mysql> create database test_db; Query OK, 1 row affected (0.00 sec) mysql> use test_db; ...