Docker部署Nginx和Tomact

Docker部署Nginx和Tomact

在写之前需要先了解一些docker的一些基础命令

#启动docker
systemctl start docker

#关闭docker
systemctl stop docker

#重启docker
systemctl restart docker

#查看docker运行状态 
systemctl status docker
	
#查看docker镜像列表
docker images

#拉取镜像 不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本
docker pull 镜像名 
docker pull 镜像名:tag

#运行镜像
docker run 镜像名
docker run 镜像名:Tag

#删除镜像 
docker rmi -f 镜像名/镜像ID

#查看正在运行容器列表
docker ps

#查看所有容器 -----包含正在运行 和已停止的
docker ps -a

#运行一个容器
# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行)  --name 给要运行的容器 起的名字  /bin/bash  交互路径
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash 

#停止容器
docker stop 容器名/容器ID

#删除容器
docker rm -f 容器名/容器ID

#进入容器内部
docker exec -it 容器名/容器ID /bin/bash

#退出容器 
exit

#重启容器
docker restart 容器ID/容器名

#启动容器
docker start 容器ID/容器名

接下来就可以开始着手部署了

Docker部署Nginx
  1. 拉取nginx镜像

    docker pull nginx:latest
    
    #拉取完成查看:
    docker images
    
  2. 创建工作目录方便挂在文件

    #进入usr目录 创建相应的工作目录
    cd /usr
    mkdir docker 
    cd docker 
    mkdir docker-nginx
    cd docker-nginx
    mkdir logs
    mkdir nginx
    mkdir html
    
    #启动nginx容器
    docker run -d --name nginx nginx
    
    # 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 /usr/docker/docker-nginx
    docker cp nginx:/etc/nginx ./nginx
    docker cp nginx:/var/log/nginx ./logs
    docker cp nginx:/usr/share/nginx/html ./html
    
    # 停止容器
    docker stop nginx
    
    # 删除容器
    docker rm nginx
    
  3. 部署容器

    # nginx
    docker run \
    -p 80:80 \
    --name nginx \
    -v /usr/docker/docker-nginx/html:/usr/share/nginx/html \
    -v /usr/docker/docker-nginx/logs:/var/log/nginx \
    -v /usr/docker/docker-nginx/nginx:/etc/nginx \
    --restart always \
    --name nginx \
    -d nginx
    
    # tomact
    docker run \
    -p 8080:8080 \
    --name tomact \
    -v /usr/docker/docker-tomcat/tomcat:/usr/local/tomcat \
    --restart always \
    --name tomact \
    -d tomact
    
    
    
    # nacos
    docker run -it --name nacos -p 8848:8848 -e MODE=standalone -v /usr/docker/docker-nacos/conf:/home/nacos/conf -v /usr/docker/docker-nacos/data:/home/nacos/data -v /usr/docker/docker-nacos/logs:/home/nacos/logs -d nacos/nacos-server
    
    docker run -d -e MODE=standalone --name nacos-server -p 8848:8848 -v /home/docker/docker-nacos/conf:/home/nacos/conf -v /home/docker/docker-nacos/data:/home/nacos/data -v /home/docker/docker-nacos/logs:/home/nacos/logs nacos/nacos-server
    
    docker run --name nacos -p 8848:8848 \
     --env MODE=standalone \
     --env SPRING_DATASOURCE_PLATFORM=mysql \
     --env MYSQL_SERVICE_HOST=rm-bp1j8k9s2330jz5jdyo.mysql.rds.aliyuncs.com \
     --env MYSQL_SERVICE_PORT=3306 \
     --env MYSQL_SERVICE_DB_NAME=nacos \
     --env MYSQL_SERVICE_USER=root \
     --env MYSQL_SERVICE_PASSWORD=Whb18772916901 \
     -d -v /home/docker/docker-nacos/conf:/home/nacos/conf -v /home/docker/docker-nacos/data:/home/nacos/data -v /home/docker/docker-nacos/logs:/home/nacos/logs nacos/nacos-server
    
    
    
    # micro-gateway
    docker build -t micro-gateway:latest .
    
    docker run -p 9001:9001 --name micro-gateway -v /opt/logs:/opt/logs --restart always -d micro-gateway
    
    
    # micro-uaa
    docker build -t micro-uaa:latest .
    
    docker run -p 10002:10002 --name micro-uaa -v /opt/logs:/opt/logs --restart always -d micro-uaa
    
    
    # micro-user
    docker build -t micro-user-service:latest .
    
    docker run -p 10010:10010 --name micro-user-service -v /opt/logs:/opt/logs --restart always -d micro-user-service
    
    # micro-dynamic
    docker run -p 10003:10003 --name micro-dynamic-service -v /opt/logs:/opt/logs --restart always -d micro-dynamic-service
    
    # xxl-job
    docker build -t xxl-job:latest .
    
    docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin  -d xxl-job
    
    #minio
    docker run -p 9000:9000 -p 9090:9090 \
         --name minio \
         -d --restart=always \
         -e "MINIO_ROOT_USER=wuhongbin" \
         -e "MINIO_ROOT_PASSWORD=whb18772916901" \
         -v /home/docker/docker-minio/data:/data \
         -v /home/docker/docker-minio/config:/root/.minio \
         minio/minio server \
         /data --console-address ":9090" -address ":9000"
         
    
    

    -d # 表示在一直在后台运行容器*
    -p 80:80 # 对端口进行映射,将本地80端口映射到容器内部的80端口*
    –name # 设置创建的容器名称
    -v # 将本地目录(文件)挂载到容器指定目录;

以下是基本https的访问配置


server {
    listen  80;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
     #SSL 默认访问端口号为 443
     listen 443 ssl;
     #请填写绑定证书的域名
     server_name www.wuhobin.top;
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate  /usr/docker/docker-nginx/nginx/cert/www.wuhobin.top_bundle.crt;
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key /usr/docker/docker-nginx/nginx/cert/www.wuhobin.top.key;
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3;
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;
     location / {
        proxy_pass  http://www.wuhobin.top:8080;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        client_max_body_size 100m;
    }
 }








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值