dockers 项目部署

docker里需要用到vim

apt-get update
apt-get install vim
dockers mariadb的使用
  1. 安装mariadb

    docker pull mariadb
    
  2. 启动mariadb

    docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /data/mariadb/data:/var/lib/mysql -d mariadb
    
  3. 进入镜像

    docker exec -it mariadb bash
    
  4. 创建数据库

    mysql -uroot -pMariadb123!
    create database vmware;
    
docker 的python使用dockerfile自己生成镜像
  1. dockerfile文件

    # 使用python的版本。docker会去找到对于的python镜像去运行我们的app
    FROM python:3.7.4
    
    # 在构建的过程中更新下apt列表
    RUN apt-get update
    
    WORKDIR /home/
    
    # 这里的requirements.txt是和dockerfile同级目录下
    COPY requirements.txt ./ 
    
    
    # pip安装requirements.txt里面的python包,requirements.txt内容是项目的包。
    # -i 是因为清华源可以加速
    RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  -r requirements.txt 
    
    # 这里前面一个是本机的django项目的相对路径以当前文件找到django项目,必须是django路径不能在外面多套一层不然下面run的时候docker ps是没有数据的
    COPY backend .
    
    EXPOSE 8000
    # 重点! 打开容器的8000虚拟端口
    
    # 标准的运行Django自带的服务器。这是在容器运行后运行的命令
    CMD ["uwsgi","--ini","/home/backend/uwsgi.ini"]
    
    
  2. 构建镜像

    docker build -t myhci .
    
  3. 运行镜像

    docker run -d -it -p 8000:8000 --name hci06 -v /root/hci/:/home myhci
    
  4. 项目中用到的文件夹创建

mkdir /var/log/hci/
mkdir /etc/hci/
pip install -r requirements.txt 
# 需要把hci.web.conf文件也放到backend里面
cp hci.web.conf /etc/hci/hci.web.conf
  1. 生成数据库
注:1.修改setting配置文件中的MySQL的host的ip地址和用户名密码,特别注意这个host需要查看MySQL的镜像使用docker inspect -it xxx(mysql)里面有分配的ip
python manager.py makemigrations
python manager.py migrate
python manager.py createsuperuser
···
python manager.py runserver 0.0.0.0:8000 
#可以正常启动了,后面必须加不然访问不进来
# 或者使用uwsgi启动配合nginx的配置就可以全套使用了
# uwsgi --ini uwsgi.ini
docker 的python项目安装
  1. 下载python镜像

    docker pull python:3.7.4
    
  2. 启动python

    docker run -d -it -p 8000:8000 --name hci01 -v /root/hci/:/home python:3.7.4
    
  3. 项目中用到的文件夹创建

    mkdir /var/log/hci/
    mkdir /etc/hci/
    pip install -r requirements.txt 
    # 需要把hci.web.conf文件也放到backend里面
    cp hci.web.conf /etc/hci/hci.web.conf
    
  4. 修改setting的配置文件

    setting中数据的host,user,password,需要修改,通过docker inspect xxxx(it)来查看ip
    
  5. 生成数据库

    python manage.py makemigrations
    python manage.py migrate
    python manage.py createsuperuser
    ···
    python manage.py runserver 
    #可以正常启动了
    # postman访问 http://10.240.203.112:8000/hci/user/login/ 注意后面的一个/
    
  6. 使用uwsgi

    修改uwsgi.ini文件
    
    #执行
    uwsgi --ini uwsgi.ini
    
dockers nginx的使用

注:nginx和前端的dist放到同一个docker中

  1. 下载nginxjingx

    docker pull nginx
    
  2. 执行启动nginx镜像

    docker run -d --name nginx1 -p 443:443 -it -v /root/hci/:/home/hci/ nginx /bin/bash
    
  3. 进入镜像

    docker exec -it nginx1 bash
    
  4. server.crt/key文件

    mkdir -p /etc/nginx/ssl
    cp server.* /etc/nginx/ssl/
    在把上面的两个文件移到ssl文件夹中
    mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
    cp etc/nginx.conf /etc/nginx/nginx.conf
    
  5. 项目中的log是指定的位置error_log /var/log/hci/nginx.error.log

    mkdir -p /var/log/hci/
    
  6. 把dist文件加放到对应的位置上

    mkdir -p /usr/share/hci-portal/frontend/client/
    cp -r dist/  /usr/share/hci-portal/frontend/client/
    
  7. 修改nginx配置,可以在本机挂在的位置修改,在把修改过的移到/etc/nginx/nginx.conf,修改外面的这里面并没有修改

     server {
            listen       443 ssl;
            server_name  _;
            root         /usr/share/hci-portal/frontend/client/dist;
            index        index.html;
    		
            # ssl on;  去掉,因为上面listen       443 ssl;监听了
            ssl_certificate /etc/nginx/ssl/server.crt;
            ssl_certificate_key /etc/nginx/ssl/server.key;
    
            include /etc/nginx/default.d/*.conf;
    
            location /hci {
                include uwsgi_params;
                uwsgi_pass 172.17.0.5:8000; #这个地方需要修改对应uwsgi镜像的ipaddr
            }
    
            location / {
                try_files $uri $uri/ /index.html;
            }
       }
    
  8. 重启nginx

    使用pkill -9 nginx
    没有pkill 
    apt-get update  #先更新apt-get
    apt-get install procps
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要部署Docker项目,可以使用Docker Compose来定义和运行多个容器。以下是一个简单的步骤: 1. 首先,在云服务器上创建一个文件夹来存放Docker Compose文件。可以使用以下命令创建文件夹: ``` mkdir docker-compose ``` 2. 将项目中的Docker Compose文件上传到刚刚创建的文件夹中。可以使用以下命令将文件从本地上传到云服务器: ``` scp /path/to/docker-compose.yml user@server_ip:/path/to/docker-compose/ ``` 3. 确保服务器上已安装最新版本的Docker。可以使用以下命令安装Docker CE: ``` sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 4. 安装完Docker后,安装Docker Compose。可以使用以下命令安装最新版本的Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 5. 确保Docker Compose安装成功。可以使用以下命令检查版本号: ``` docker-compose --version ``` 6. 接下来,进入到存放Docker Compose文件的文件夹: ``` cd /path/to/docker-compose/ ``` 7. 最后,使用以下命令来启动Docker Compose: ``` docker-compose up -d ``` 这将根据Docker Compose文件中定义的配置启动所有容器。请确保已正确配置Docker Compose文件以适应您的项目需求和环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [docker部署项目](https://blog.csdn.net/m0_62902168/article/details/124390670)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值