docker下部署服务
一、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下部署服务的更多相关文章
- 设想 Docker 下部署 KVM
设想 Docker 下部署 KVM 一.安装 $ yum -y install kvm # kvm base , must $ yum -y install libvirt -y # libvirtd ...
- docker swarm 部署服务时,限制服务启动后所在的机器
借助容器技术,可以方便的在不同环境下部署服务,保证服务环境的一致性.docker swarm这个东西,可以方便的对容器进行编排管理. docker swarm集群中,有manager节点与worker ...
- 在Docker下部署Nginx
在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...
- Docker下部署springboot项目
1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...
- 使用docker compose部署服务
谈到微服务的话题,技术上我们往往会涉及到多服务.多容器的部署与管理. Docker 有三个主要的作用:Build, Ship和Run.使用docker compose我们可以在Run的层面解决很多实际 ...
- Docker 下部署hadoop集群
一.主机规划 3台主机:1个master.2个slaver/worker ip地址使用docker默认的分配地址: master: 主机名: hadoop2.ip地址: 172.17.0.2 slav ...
- docker下部署spring boot
第 5 章 Docker + Spring Boot: 快速搭建和部署Java Web应用 0.你需要: JDK 1.8 : java -version Maven 3.0+ : mvn -v Git ...
- Tensorflow Serving Docker compose 部署服务细节(Ubuntu)
[摘要] Tensorflow Serving 是tf模型持久化的重要工具,本篇介绍如何通过Docker compose搭建并调试TensorFlow Serving TensorFlow Servi ...
- 记离线部署docker,以及docker下部署zabbix
一.离线安装docker 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 上传软件并解压 [root@localhost op ...
随机推荐
- P1928 外星密码
题目描述 有了防护伞,并不能完全避免 2012 的灾难.地球防卫小队决定去求助外星种族的帮 助.经过很长时间的努力,小队终于收到了外星生命的回信.但是外星人发过来的却是一 串密码.只有解开密码,才能知 ...
- 决策单调性优化DP学习笔记
用途 废话,当然是在DP式子满足某些性质的时候来优化复杂度-- 定义 对于\(j\)往大于\(j\)的\(i\)转移,可以表示成一个关于\(i\)的函数\(f_j(i)\),也就是\(dp_i=\ma ...
- 小程序tab切换代码
<!--index.wxml--> <view class="container"> <view class="navtap" & ...
- excel被保护或者锁定时候按住alt和enter可以输入换行
excel被保护或者锁定时候按住alt和enter可以输入换行
- Homebrew 使用国内镜像
在国内的网络环境下使用 Homebrew 安装软件的过程中,可能会长时间卡在 Updating Homebrew ... 方法一:按command + c 取消本次更新操作,直接安装软件 方法二:设置 ...
- Buuctf pwn1 详细wp
目录 程序基本信息 程序溢出点 确定返回地址 编写exp脚本 成功getshell 程序基本信息 我们可以看到这是一个64程序,没有保护开启. 程序溢出点 gets函数可以读取无限字符,存在栈溢出. ...
- CodeForces - 1175B Catch Overflow!(栈模拟多重for循环)
You are given a function ff written in some basic language. The function accepts an integer value, w ...
- flutter doctor出现问题 [!] Android toolchain - develop for Android devices (Android SDK version 28.0.3) X Android license status unknown. Try re-installing or updating your Android SDK Manager. 的解决方案
首先,问题描述: flutter doctor Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Cha ...
- C++ .h 与 .hpp 的区别
原文地址:http://blog.csdn.net/f_zyj/article/details/51735416 .hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件, ...
- 【Python】分析自己的博客 https://www.cnblogs.com/xiandedanteng/p/?page=XX,看每个月发帖量是多少
要执行下面程序,需要安装Beautiful Soup和requests,具体安装方法请见:https://www.cnblogs.com/xiandedanteng/p/8668492.html # ...