美文网首页
Docker 项目部署入门_自定义网络

Docker 项目部署入门_自定义网络

作者: tzktzk1 | 来源:发表于2023-12-18 02:37 被阅读0次

    根据 python:3.9 镜像创建 项目容器 autotpenv

    docker run -itd -v /home/tzktzk1/software/autotpsite:/opt --name autotpenv python:3.9 sh /opt/auto_deploy.sh  # 加自动部署命令版
    docker run -itd -v /home/tzktzk1/software/autotpsite:/opt --name autotpenv python:3.9
    
    docker logs -f autotpenv  # 查看日志
    

    进入容器 autotpenv 内部

    root@tzktzk1-Lenovo-Gaming:~/home# docker exec -it autotpenv /bin/bash
    root@f75bd86db4cd:/# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    root@f75bd86db4cd:/# cd /opt/
    root@f75bd86db4cd:/opt# python --version
    Python 3.9.9
    root@f75bd86db4cd:/opt# pip --version
    pip 21.2.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
    root@f75bd86db4cd:/opt# ls
    autotpsite  demo  dist  manage.py  requirements.txt  sqtp  utils  uwsgi.ini  uwsgi8081.pid uwsgi_server.log
    

    安装依赖库

    root@f75bd86db4cd:/opt# pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host  pypi.tuna.tsinghua.edu.cn
    

    安装 uwsgi

    root@48cd2282cbfb:/opt# pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host  pypi.tuna.tsinghua.edu.cn
    

    如果需要在容器内修改 uwsgi.ini 文件,需要先安装 Vim (容器内默认是不安装vim的)

    root@48cd2282cbfb:/opt# apt-get update
    root@48cd2282cbfb:/opt# apt-get install -y vim  # 安装Vim
    root@48cd2282cbfb:/opt# vim --version # 查看vim版本信息
    root@48cd2282cbfb:/opt# vim uwsgi.ini # 修改文件
    

    uwsgi.ini

    [uwsgi]
    chdir = ./                        
    # 项目根目录
    module = autotpsite.wsgi:application
    # 指定wsgi模块下的application对象
    #http = 0.0.0.0:8081
    http-socket = 0.0.0.0:8081
    # 对本机8081端口提供服务
    master = true
    # 主进程
    # 以上4个是核心配置项
    
    #vhost = true
    # 多站模式
    #no-site = true
    # 多站模式时不设置入口模块和文件
    #workers = 2
    # 子进程数
    #reload-mercy = 10
    #vacuum = true
    # 退出、重启时清理文件
    #max-requests = 1000
    #limit-as = 512
    #buffer-size = 30000
    pidfile = uwsgi8081.pid                          
    # pid文件,用于下脚本启动、停止该进程
    daemonize = uwsgi_server.log                          
    # 日志文件
    disable-logging = true
    # 不记录正常信息,只记录错误信息
    

    启动uwsgi服务

    root@48cd2282cbfb:/opt# uwsgi uwsgi.ini 
    [uWSGI] getting INI configuration from uwsgi.ini
    root@48cd2282cbfb:/opt# tail -100f uwsgi_server.log # 查看日志
    

    docker自定义网络

    创建网络

    docker network create 网络名
    
    root@tzktzk1-Lenovo-Gaming:/home# docker network create autotp
    e64380d457c88c644abc6af61a5de6b659e065d7c6069f5f1b7175c4c9f83840
    

    查看网络

    docker network inspect 网络名
    
    root@tzktzk1-Lenovo-Gaming:/home# docker network inspect bridge 
    [
        {
            "Name": "bridge",
            "Id": "a221b5797af793efe297cc20a77fe2c5a11e69e3b74cdb37c8c4ce5540b369f5",
            "Created": "2023-12-18T15:16:39.321706574+08:00",
            "Scope": "local",
            "Driver": "bridge",
            "EnableIPv6": false,
            "IPAM": {
                "Driver": "default",
                "Options": null,
                "Config": [
                    {
                        "Subnet": "172.17.0.0/16",
                        "Gateway": "172.17.0.1"
                    }
                ]
            },
            "Internal": false,
            "Attachable": false,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {},
            "Options": {
                "com.docker.network.bridge.default_bridge": "true",
                "com.docker.network.bridge.enable_icc": "true",
                "com.docker.network.bridge.enable_ip_masquerade": "true",
                "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
                "com.docker.network.bridge.name": "docker0",
                "com.docker.network.driver.mtu": "1500"
            },
            "Labels": {}
        }
    ]
    root@tzktzk1-Lenovo-Gaming:/home# 
    

    加入网络

    docker network connect 网络名 容器名
    
    docker network connect autotp autotpenv
    

    移除网络

    docker network remove 网络名 #当前网络下没有挂载容器
    

    离开网络

    docker network disconnect 网络名 容器名
    

    相关文章

      网友评论

          本文标题:Docker 项目部署入门_自定义网络

          本文链接:https://www.haomeiwen.com/subject/zmmogdtx.html