久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      CentOS 7下使用docker-compose部署Django與MySQL實(shí)戰(zhàn)

      背景:

      本萌最近在部署自己開(kāi)發(fā)的項(xiàng)目的時(shí)候發(fā)現(xiàn)同一套代碼上傳到服務(wù)器上后,部分功能莫名其妙的有點(diǎn)問(wèn)題,服務(wù)器的各項(xiàng)配置都沒(méi)有做過(guò)變動(dòng),所以想把項(xiàng)目轉(zhuǎn)戰(zhàn)到docker。

      奈何剛接觸docker,很多地方都不懂,在這個(gè)坑里面折騰了一兩天。決定對(duì)本次實(shí)踐做個(gè)過(guò)程總結(jié)希望少點(diǎn)人走彎路。

      系統(tǒng)環(huán)境:CentOS 7

      一、docker安裝

      1、以root用戶登錄(使用sudo命令也行,本人懶,不想敲那么多字符),刪除舊版本的docker;

      yum remove docker
                        docker-client
                        docker-client-latest
                        docker-common
                        docker-latest
                        docker-latest-logrotate
                        docker-logrotate
                        docker-selinux
                        docker-engine-selinux
                        docker-engine

      2、如果以前安裝過(guò)docker的,需要先刪除以前的docker文件;

      rm -rfv /var/lib/docker/

      3、安裝docker-ce(最新的系統(tǒng)可以不需要執(zhí)行,本人為了保險(xiǎn)起見(jiàn)執(zhí)行了 ^0^);

      yum install -y yum-utils
        device-mapper-persistent-data
        lvm2

      4、下載docker-ce的yum源配置文件;

      yum-config-manager
          –add-repo
          https://download.docker.com/linux/centos/docker-ce.repo

      5、安裝docker-ce;

      yum install docker-ce

      6、設(shè)置docker-ce隨系統(tǒng)啟動(dòng);

      systemctl enable docker

      7、啟動(dòng)docker;

      systemctl start docker

      8、驗(yàn)證docker是否安裝成功;

      docker -v

      檢查結(jié)果如下:

      CentOS 7下使用docker-compose部署Django與MySQL實(shí)戰(zhàn)

       9、安裝docker-compose

      curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
      chmod +x /usr/local/bin/docker-compose

      二、編寫項(xiàng)目dockerfile文件

      在動(dòng)手寫之前,先看下項(xiàng)目結(jié)構(gòu):

      CentOS 7下使用docker-compose部署Django與MySQL實(shí)戰(zhàn)

      編寫好的Dockerfile文件如下:

      FROM Python:3.6.4
      ENV PYTHONUMBUFFERED 1
      RUN mkdir /leartd
      RUN mkdir /leartd/dockermysql
      WORKDIR /leartd
      ADD requirements.txt /leartd/
      RUN pip install -r requirements.txt
      ADD . /leartd/

      三、編寫docker-compose.yml文件

      version: ‘3’
      services:
              db:
                      image: mysql
                      restart: always
                      command: mysqld –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci –init-connect=’SET NAMES utf8mb4;’ –innodb-flush-log-at-trx-commit=0
                      expose:
                              – “3306”
                      volumes:
                              – ./dockermysql:/var/lib/mysql:rw
                      environment:
                              – MYSQL_DATABASE=demodb
                              – MYSQL_ROOT_PASSWORD=123456
              web:
                      build: .
                      command: python manage.py runserver 0.0.0.0:9000 –insecure
                      volumes:
                              – .:/leartd
                      ports:
                              – “8080:9000”
                      depends_on:
                              – db

      command:執(zhí)行的命令內(nèi)容是為了給mysql指定字符編碼,不指定時(shí),默認(rèn)使用的是lanti1編碼,在使用中文字符的時(shí)候會(huì)亂碼

      四、修改項(xiàng)目settings.py文件配置

      修改地方有兩個(gè),

      1、

      ALLOWED_HOSTS = [‘*’, ]

      2、

      DATABASES = {
          ‘default’: {
              ‘ENGINE’: ‘django.db.backends.mysql’,
              ‘NAME’: ‘demodb’,
              ‘USER’: ‘root’,
              ‘PASSWORD’: ‘123456’,
           ’HOST’: ‘db’,
          }
      }

      這里的NAME就是docker-compose.yml文件中的MYSQL_DATABASE,PASSWORD為docker-compose.yml文件中的MYSQL_ROOT_PASSWORD,HOST為docker-compose.yml文件第三行的內(nèi)容

      五、編譯項(xiàng)目

      docker-compose build

      六、啟動(dòng)項(xiàng)目

      docker-compose up

      docker-compose up -d(后臺(tái)運(yùn)行)

      在瀏覽器中輸入localhost:8080就可以成功訪問(wèn)項(xiàng)目了

      七、附錄

      1、查看當(dāng)前docker容器中已有的image

      docker image ls

      2、查看所有的容器

      docker ps -a

      3、批量停止在運(yùn)行中的容器

      docker ps -a | grep ‘Up’ | awk ‘{print $1}’| xargs docker container stop

      4、批量刪除Exited狀態(tài)的容器

      docker ps -a | grep ‘Exited’ | awk ‘{print $1}’| xargs docker container rm

      5、批量刪除name為none的image

      docker image ls | grep none | awk ‘{print $3}’ | xargs docker image rm

      八、未完全解決的問(wèn)題:

      通過(guò)docker-compose up運(yùn)行項(xiàng)目后,首次需要去web容器里面手動(dòng)執(zhí)行makemigrations、migrate、createsuperuser命令。

      暫時(shí)不知道怎么處理,如有大神路過(guò)還望指點(diǎn)一二

      九、需要后續(xù)處理的問(wèn)題:

      搭建私有registry,把鏡像提交到私有的registry。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)