IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker部署应用 -> 正文阅读

[系统运维]Docker部署应用

实时更新补充地址https://www.zhangxin.cloud

创建自定义网络

(用于容器之间的通信 common-network 是网络名称 可改)

##创建自定义网络(用于容器之间的通信 common-network 是网络名称 可改)
docker network create common-network

#查看网络
docker network ls

#删除自定义网络命令
docker network rm  名称

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kj8m1EQN-1646654178506)(https://cdn.jsdelivr.net/gh/zx20219898/Image/202203051541201.png)]

部署MySQL

  1. 创建数据卷目录

    mkdir ~/mysql
    cd ~/mysql
    
  2. 创建自定义网络common-network

  3. 自动拉取镜像并启动容器

    docker run -id \
    -p 3306:3306 \
    --name=mysql \
    --network common-network \
    --restart=always \
    -e TZ=Asia/Shanghai \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    mysql:5.6
    

    参数说明:

    • -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
    • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
    • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
    • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
    • **-e MYSQL_ROOT_PASSWORD=root:**初始化 root 用户的密码为root。
  4. 进入容器,操作mysql

    docker exec -it mysql /bin/bash
    mysql -uroot -proot 
    
  5. 使用外部机器连接容器中的mysql

    image-20220305145419108

部署Tomcat

  1. 创建数据卷目录

    mkdir ~/tomcat
    cd ~/tomcat
    
  2. 自动拉取镜像并启动容器

    docker run -id \
    --name=tomcat \
    -p 8080:8080 \
    -e TZ="Asia/Shanghai" \
    --privileged=true \
    -v $PWD/webapps:/usr/local/tomcat/webapps \
    -v $PWD/logs:/mnt/applog \
    tomcat
    

    参数说明:

    • **-p 8080:8080:**将容器的8080端口映射到主机的8080端口
    • **-v $PWD:/usr/local/tomcat/webapps:**将主机中当前目录挂载到容器的webapps
  3. 使用外部机器访问tomcat

    image-20220305150116541

部署Nginx

  1. 创建数据卷目录

    mkdir -p ~/nginx/conf
    cd ~/nginx/conf
    
  2. 在zx/nginx/conf/下创建nginx.conf文件,粘贴下面内容

    vim nginx.conf

    nginx.conf 内容

    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        include /etc/nginx/conf.d/*.conf;
    }
    
  3. 自动拉取镜像并启动容器

    进入nginx目录下

    docker run -id \
    --name=nginx \
    --restart=always \
    -p 80:80 \
    -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v $PWD/logs:/var/log/nginx \
    -v $PWD/html:/usr/share/nginx/html \
    nginx
    

    参数说明:

    • -p 80:80:将容器的 80端口映射到宿主机的 80 端口。
    • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录
    • -v $PWD/logs:/var/log/nginx:将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录
  4. 使用外部机器访问nginx

    image-20220305150645467

部署Redis

  1. 自动拉取镜像并启动容器

    docker run -id \
    --name=c_redis \
    -p 6379:6379 \
    redis:5.0
    
  2. 使用外部机器连接redis

    ./redis-cli.exe -h 192.168.149.135 -p 6379
    

部署CentOS

mkdir ~/centos/root
cd ~/centos

docker run -id \
--name=centos \
-p 12345:12345 \
-v $PWD/root:/root \
centos

部署Nacos

参考:https://www.cnblogs.com/wandoupeas/p/12205176.html

https://blog.csdn.net/m0_56000832/article/details/120890310

  1. 创建自定义网络common-network

  2. 创建存储nacos配置的数据库

    create database nacos_config
    
  3. 初始化数据库,导入初始化文件nacos-db.sql

  4. 创建数据卷目录

    mkdir ~/nacos/logs
    mkdir ~/nacos/init.d
    
    cd ~/nacos
    
  5. 自动拉取镜像并启动容器

    docker run -d \
    --name nacos \
    -p 8848:8848 \ 
    -restart=always \
    --privileged=true \
    -e PREFER_HOST_MODE=101.43.123.47 \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_MASTER_SERVICE_HOST=101.43.123.47 \
    -e MYSQL_MASTER_SERVICE_PORT=3306 \
    -e MYSQL_MASTER_SERVICE_USER=root \
    -e MYSQL_MASTER_SERVICE_PASSWORD=root \
    -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
    -e MYSQL_SLAVE_SERVICE_HOST=101.43.123.47 \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -v $PWD/logs:/home/nacos/logs \
    -v $PWD/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    -v $PWD/conf:/home/nacos/conf \
    --restart=always \
    --network common-network \
    nacos/nacos-server:1.4.1
    

    具体配置参数参考官方文档

    参数说明:

    • –network common-network : 容器网络
    • -v /zx/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties :配置文件映射路径
  6. 查看网络容器

    docker network inspect common-network
    

    这个时候mysql容器和nacos容器的网络就注册到了我们创建的那个网络里面了

    image-20211219181958863

  7. 进入nacos容器内部 修改一下配置

    #进入容器命令
    docker exec -it nacos bash
    
    #修改配置文件
    vim conf/application.properties
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPSpRYta-1646654178509)(https://cdn.jsdelivr.net/gh/zx20219898/Image/202203051518219.png)]

    也可以从其他地方获取:

    复制nacos配置目录到宿主机(或从其他地方复制需要application.properties、cluster.conf)

    docker cp 1d8a4a767027:/home/nacos/conf /zx/nacos
    
  8. 修改完成后 退出nacos容器并且重启nacos容器

    #重启nacos命令
    docker restart nacos
    
    http://ip:8848/nacos/index.html
    nacos/nacos(用户名密码)
    
  9. 添加的配置信息可在数据库中下面那张表中看到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-erGtw4sm-1646654178509)(https://cdn.jsdelivr.net/gh/zx20219898/Image/202203051550426.png)]

部署Wordpress

  1. 创建目录

    mkdir ~/wordpress
    
  2. 部署MySQL

    mkdir ~/wordpress/mysql
    cd ~/wordpress/mysql 
    
    docker run -id \
    -p 3307:3306 \
    --name=mysql4WP \
    --network common-network \
    --restart=always \
    -e TZ=Asia/Shanghai \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    mysql:5.6
    

    创建数据库wordpress

  3. 自动拉取镜像并启动容器

    docker run -d --name wordpress \
    -e TZ="Asia/Shanghai" \
    -e WORDPRESS_DB_HOST=101.43.123.47:3307 \
    -e WORDPRESS_DB_USER=root \
    -e WORDPRESS_DB_PASSWORD=root \
    -e WORDPRESS_DB_NAME=wordpress \  
    -v ~/wordpress/www:/var/www/html \
    -p 1080:80 \
    --restart=always \
    wordpress
    

    参数说明:

    • WORDPRESS_DB_HOST:mysql的IP+端口
    • WORDPRESS_DB_USER:mysq用户名
    • WORDPRESS_DB_PASSWORD:mysql密码
    • WORDPRESS_DB_NAME:数据库名,默认是wordpress
    • -p 1080:80 是指宿主机的1080端口映射容器的80端口,容器内端口80不要修改
    • restart=always 随docker的启动而启动
  4. 运行完可以查看日志 docker logs --tail 10 wordpress | grep info

  5. 打开地址安装:https://www.zhangxin.cloud/wp-admin/setup-config.php

  6. 后台管理地址 http://127.0.0.1:80/wp-admin

部署Wordpress - Docker Composs

  1. 创建挂载目录

    # 注意:若挂载的为文件夹,则不需要,在执行命令时会自动创建,但是要是***挂载文件,必须要提前准备***
    mkdir -p ~/nginx/data
    mkdir -p ~/nginx/config/conf.d
    mkdir -p ~/nginx/logs
    mkdir -p ~/nginx/ssl
    touch ~/nginx/config/nginx.conf
    touch ~/nginx/config/conf.d/default.conf
    
    mkdir -p ~/wordpress/html
    mkdir -p ~/mysql
    
  2. wordpress目录下添加 docker-compose.yml

  3. nginx目录下添加 nginx.conf

  4. wpress目录,docker-compose up -d

  5. docker ps 查看容器

  6. 配置https

    考文章:SSL 证书 Nginx 服务器 SSL 证书安装部署 - 证书安装 - 文档中心 - 腾讯云 https://cloud.tencent.com/document/product/400/35244

  7. 打开地址安装:https://www.zhangxin.cloud/wp-admin/setup-config.php

  8. 后台管理地址 https://www.zhangxin.cloud/wp-admin/

  9. 解决https访问不加载css样式https://blog.csdn.net/weixin_36237054/article/details/113027073

    wordpress如何开启https-WordPress-PHP中文网 https://www.php.cn/cms/wordpress/425534.html

    wordpress开启https失败问题_weixin_34297300的博客-CSDN博客 https://blog.csdn.net/weixin_34297300/article/details/92397756

    WORDPRESS安装SSL证书后,无法加载CSS解决办法 - 菜鸟学苑 https://www.cainiaoxueyuan.com/cms/11356.html

部署Cloudreve

参考文章:https://hub.docker.com/r/xavierniu/cloudreve

  1. 创建数据卷目录

    mkdir -p /zx/cloudreve/uploads
    mkdir -p /zx/cloudreve/config
    mkdir -p /zx/cloudreve/db
    mkdir -p /zx/cloudreve/avatar
    
  2. 进行目录cd /zx/cloudreve

  3. 自动拉取镜像并启动容器

    docker run -d \
    --name cloudreve \
    -e PUID=1000 \ # optional
    -e PGID=1000 \ # optional
    -e TZ="Asia/Shanghai" \ # optional
    -p 5212:5212 \
    --restart=unless-stopped \
    -v $PWD/uploads:/cloudreve/uploads \
    -v $PWD/config:/cloudreve/config \
    -v $PWD/db:/cloudreve/db \
    -v $PWD/avatar:/cloudreve/avatar \
    xavierniu/cloudreve
    
  4. 获取初始密码docker logs -f cloudreve

部署RabbitMQ

  1. 自动拉取镜像并启动容器

    docker run \
     -e RABBITMQ_DEFAULT_USER=itcast \
     -e RABBITMQ_DEFAULT_PASS=123321 \
     --name mq \
     --hostname mq1 \
     -p 15672:15672 \
     -p 5672:5672 \
     -d \
     rabbitmq:3-management
    

部署hexo

参考文章:https://blog.csdn.net/weixin_34015566/article/details/89064483

  1. 创建并进入数据卷目录

    mkdir -p /zx/hexo
    cd /zx/hexo
    
  2. 启动容器

    docker run \
    -id \
    --name hexo \
    -p 4000:4000 \
    -v $PWD/data:/opt/website \
    hexo:1.0
    
  3. 进入容器内部docker exec -it hexo /bin/bash

  4. 初始化环境hexo init

    现在$PWD/data中已经有了hexo的内容

  5. 生成网站内容hexo g

  6. 预览hexo s,在宿主机的浏览器上输入 127.0.0.1:4000

  7. 待补充。。。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:59:52  更:2022-03-08 23:01:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:40:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码