欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

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

          背景:

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

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

          系統(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、如果以前安裝過docker的,需要先刪除以前的docker文件;

          rm -rfv /var/lib/docker/

          3、安裝docker-ce(最新的系統(tǒng)可以不需要執(zhí)行,本人為了保險起見執(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)啟動;

          systemctl enable docker

          7、啟動docker;

          systemctl start docker

          8、驗證docker是否安裝成功;

          docker -v

          檢查結(jié)果如下:

          CentOS 7下使用docker-compose部署Django與MySQL實戰(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

          二、編寫項目dockerfile文件

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

          CentOS 7下使用docker-compose部署Django與MySQL實戰(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指定字符編碼,不指定時,默認使用的是lanti1編碼,在使用中文字符的時候會亂碼

          四、修改項目settings.py文件配置

          修改地方有兩個,

          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)容

          五、編譯項目

          docker-compose build

          六、啟動項目

          docker-compose up

          docker-compose up -d(后臺運行)

          在瀏覽器中輸入localhost:8080就可以成功訪問項目了

          七、附錄

          1、查看當前docker容器中已有的image

          docker image ls

          2、查看所有的容器

          docker ps -a

          3、批量停止在運行中的容器

          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

          八、未完全解決的問題:

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

          暫時不知道怎么處理,如有大神路過還望指點一二

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

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

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