zoukankan      html  css  js  c++  java
  • 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 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

     

  • 相关阅读:
    Makefile编写基础知识总结
    Linux开发基础篇开发环境搭建
    较常用的Linux 命令技巧
    Linux socket实现非阻塞型通信
    VirtualBox linux 挂载共享Windows文件夹
    Struts2 注解基础
    DB2 Error Code: 1218, SQL State: 57011
    半小时内使用vim的常用命令,以及平时使用的感慨
    vim的一些配置。
    link的属性media的用处
  • 原文地址:https://www.cnblogs.com/cpw6/p/11751314.html
Copyright © 2011-2022 走看看