From 2e18a40c7b4931fe668021f4c68efdf6833040f6 Mon Sep 17 00:00:00 2001 From: jackfrued Date: Mon, 19 Aug 2019 00:11:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=92=8C=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmful-waste.png" | Bin 0 -> 29355 bytes .../kitchen-waste.png" | Bin 0 -> 28402 bytes .../other-waste.png" | Bin 0 -> 19735 bytes .../recyclable.png" | Bin 0 -> 28207 bytes ...\345\234\276\345\210\206\347\261\273.html" | 120 +++ ...55\347\232\204\345\272\224\347\224\250.md" | 251 ------ ...50\347\275\262\346\234\215\345\212\241.md" | 799 ++++++++++++++++++ ...47\350\203\275\344\274\230\345\214\226.md" | 79 +- ...06\344\270\232\351\241\271\347\233\256.md" | 2 +- Day91-100/res/dockerhub-repo.png | Bin 0 -> 147702 bytes README.md | 39 +- 11 files changed, 960 insertions(+), 330 deletions(-) create mode 100644 "Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/harmful-waste.png" create mode 100644 "Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/kitchen-waste.png" create mode 100644 "Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/other-waste.png" create mode 100644 "Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/recyclable.png" create mode 100644 "Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/\345\236\203\345\234\276\345\210\206\347\261\273.html" delete mode 100644 "Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" create mode 100644 "Day91-100/92.\344\275\277\347\224\250Docker\351\203\250\347\275\262\346\234\215\345\212\241.md" rename "Day91-100/93.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\345\222\214OOAD.md" => "Day91-100/93.MySQL\346\200\247\350\203\275\344\274\230\345\214\226.md" (64%) rename "Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\351\241\271\347\233\256.md" => "Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md" (99%) create mode 100644 Day91-100/res/dockerhub-repo.png diff --git "a/Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/harmful-waste.png" "b/Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/harmful-waste.png" new file mode 100644 index 0000000000000000000000000000000000000000..edaff8b3a1faf65378d27a8f79aa3126cc46233c GIT binary patch literal 29355 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�I=&XEjVc=rZI(d--waI|9A=0!w_Yt!dF6s( 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 Z{{Y}fQHt=qukio?002ovPDHLkV1jet1}*>q literal 0 HcmV?d00001 diff --git "a/Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/other-waste.png" "b/Day21-30/code/\345\236\203\345\234\276\345\210\206\347\261\273\346\237\245\350\257\242/other-waste.png" new file mode 100644 index 0000000000000000000000000000000000000000..ef2222bb604472678e606b161d91456254509017 GIT binary patch literal 19735 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

NGB0Q%bXjPIgwr%s)m_GcpDU~Nq_gEMIAk?PoR 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 z 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 mUtD?TMeUR?fi#kj(|-X}UExw%Sq2{f0000 + + + + + 垃圾分类查询助手 + + + + + + +

+ +
+ +

没有对应的查询结果

+
+

+ + +    + + {{ result.name }} +    + (预测结果) +

+

说明:{{ result.explain }}

+
+
+
+ + + + + \ No newline at end of file diff --git "a/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" "b/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" deleted file mode 100644 index 6976e65..0000000 --- "a/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" +++ /dev/null @@ -1,251 +0,0 @@ -## Docker在项目中的应用 - -### Docker简介 - -软件开发中最为麻烦的事情可能就是配置环境了。由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且在不同的环境下我们安装的软件需要依赖的软件包也是不一样的。 - -那么问题来了,我们安装软件的时候可不可以把软件运行的环境一并安装?我们是不是可以把原始环境一模一样地复制过来呢? - -虚拟机(virtual machine)就是带环境安装的一种解决方案,它可以在一种操作系统里面运行另一种操作系统,比如在Windows系统里面运行Linux系统,在macOS上运行Windows,而应用程序对此毫无感知。使用过虚拟机的人都知道,虚拟机用起来跟真实系统一模一样,而对于虚拟机的宿主系统来说,虚拟机就是一个普通文件,不需要了就删掉,对宿主系统或者其他的程序并没有影响。但是虚拟机通常会占用较多的系统资源,启动和关闭也非常的缓慢,总之用户体验并没有想象中的那么好。 - -Docker属于对Linux容器技术的一种封装(利用了Linux的namespace和cgroup技术),它提供了简单易用的容器使用接口,是目前最流行的 Linux 容器解决方案。Docker将应用程序与该程序的依赖打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。 - -![](./res/docker_vs_vm.png) - -目前,Docker主要用于几下几个方面: - -1. 提供一次性的环境。 -2. 提供弹性的云服务(利用Docker很容易实现扩容和收缩)。 -3. 实践微服务架构(隔离真实环境在容器中运行多个服务)。 - -### 安装Docker - -下面的讲解以CentOS为例,使用[Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/)、[macOS](https://docs.docker.com/docker-for-mac/install/)或[Windows](https://docs.docker.com/docker-for-windows/install/)的用户可以通过点击链接了解这些平台下如何安装和使用Docker。 - -0. 确定操作系统内核版本(CentOS 7要求64位,内核版本3.10+;CentOS 6要求64位,内核版本2.6+)。 - -```Shell -uname -r -``` - -1. 在CentOS下使用yum安装Docker并启动。 - -```Shell -yum -y install docker -systemctl start docker -``` - -2. 检视Docker的信息和版本。 - -```Shell -docker version -docker info -``` - -3. 下载镜像文件。 - - ```Shell -docker pull - ``` - -例如:`docker pull hello-world`。 - -4. 运行镜像文件。 - -```Shell -docker run -``` - -例如:`docker run hello-world`。 - -5. 查看镜像文件。 - -```Shell -docker image ls -docker images -``` - -6. 删除镜像文件。 - -```Shell -docker rmi -``` - -例如:`docker rmi fce289e99eb9` 。 - -7. 查看正在运行容器。 - -```Shell -docker ps -``` - -8. 停止运行的容器。 - -```Shell -docker stop -docker stop -``` - -例如:`docker stop hello-world`。 - -对于那些不会自动终止的容器,就可以用下面的方式来停止。 - -```Shell -docker container kill -``` - -如果要在Ubuntu(内核版本3.10+)下面安装和启动Docker,可以按照如下的步骤进行。 - -```Shell -apt update -apt install docker-ce -service docker start -``` - -如果需要,可以更换Ubuntu软件下载源来提升下载速度,具体请参照清华大学开源软件镜像站上的[《Ubuntu镜像使用帮助》]()。 - -安装Docker后,由于直接访问dockerhub下载镜像会非常缓慢,建议更换国内镜像,可以通过修改 `/etc/docker/daemon.js` 文件来做到。云服务器(如:阿里云)通常已经设置了默认的镜像服务器,并不需要手动进行指定。 - -```JavaScript -{ - "registry-mirrors": [ - "http://hub-mirror.c.163.com", - "https://registry.docker-cn.com" - ] -} -``` - -### 使用Docker - -#### 安装Nginx - -下面我们就基于Docker来创建一台HTTP服务器,我们选择用Nginx来搭建该服务,因为Nginx是高性能的Web服务器,同时也是做反向代理服务器的上佳选择。要做到这件事情,只需要使用下面的命令在Docker中创建一个容器即可。 - -```Shell -docker container run -d -p 80:80 --rm --name mynginx nginx -``` - -> 说明:上面的参数`-d`表示容器在后台运行(不产生输出到Shell)并显示容器的ID;`-p`是用来映射容器的端口到宿主机的端口;`--rm`表示容器停止后自动删除容器,例如通过`docker container stop mynginx`以后,容器就没有了;`—name`后面的mynginx就是自定义容器的名字。在创建容器的过程中,需要用到nginx的镜像文件,镜像文件的下载是自动完成的,如果没有指定版本号,默认是最新版本(latest)。 - -如果需要将自己的Web项目(页面)部署到Nginx上,可以使用容器拷贝命令将指定路径下所有的文件和文件夹拷贝到容器的指定目录中。 - -```Shell -docker container cp /root/web/index.html mynginx:/usr/share/nginx/html -``` - -如果不愿意拷贝文件也可以在创建容器时通过数据卷操作`--volume`将指定的文件夹映射到容器的某个目录中,例如将Web项目的文件夹直接映射到`/usr/share/nginx/html`目录。 - -```Shell -docker container run -d -p 80:80 --rm --name mynginx --volume $PWD/html:/usr/share/nginx/html nginx -``` - -> 说明:上面创建容器和拷贝文件的命令中,`container`是可以省略的,也就是说`docker container run`和`docker run`是一样的,而`docker container cp`和`docker cp`是一样的。此外,命令中的`--volume`也可以缩写为`-v`,就如同`-d`是`--detach`的缩写,`-p`是`--publish`的缩写。`$PWD`代表宿主系统当前文件夹,这些对于用过Linux系统的人来说相信很容易理解。 - -要查看运行中的容器,可以使用下面的命令。 - -```Shell -docker ps -``` - -要让刚才创建的容器停下来,可以使用下面的命令。 - -```Shell -docker stop mynginx -``` - -由于在创建容器时使用了`--rm`选项,容器在停止时会被移除,当我们使用下面的命令查看所有容器时,应该已经看不到刚才的`mynginx`容器了。 - -```Shell -docker container ls -a -``` - -如果在创建容器时没有指定`--rm`选项,那么也可以使用下面的命令来删除容器。 - -```Shell -docker rm mynginx -``` - -#### 安装MySQL - -我们可以先检查一下服务器上有没有MySQL的镜像文件。 - -```Shell -docker search mysql -``` - -下载MySQL镜像并指定镜像的版本号。 - -```Shell -docker pull mysql:5.7 -``` - -如果需要查看已经下载的镜像文件,可以使用下面的命令。 - -```Shell -docker images -``` - -创建并运行MySQL容器。 - -```Shell -docker run -d -p 3306:3306 --name mysql57 -v $PWD/mysql/conf:/etc/mysql/mysql.cnf.d -v $PWD/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 -``` - -注意,上面创建容器时我们又一次使用了数据卷操作,那是因为通常容器是随时创建随时删除的,而数据库中的数据却是需要保留下来的,所以上面的两个数据卷操作一个是映射了MySQL配置文件所在的文件夹,一个是映射了MySQL数据所在的文件夹,这里的数据卷操作非常重要。我们可以将MySQL的配置文件放在`$PWD/mysql/conf`目录下,配置文件的具体内容如下所示: - -```INI -[mysqld] -pid-file=/var/run/mysqld/mysqld.pid -socket=/var/run/mysqld/mysqld.sock -datadir=/var/lib/mysql -log-error=/var/log/mysql/error.log -server-id=1 -log-bin=/var/log/mysql/mysql-bin.log -expire_logs_days=30 -max_binlog_size=256M -symbolic-links=0 -``` - -如果安装了MySQL 8.x版本(目前的最新版本),在使用客户端工具连接服务器时可能会遇到“error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded”的问题,这是因为MySQL 8.x默认使用了名为“caching_sha2_password”的机制对用户口令进行了更好的保护,但是如果客户端工具不支持新的认证方式,连接就会失败。解决这个问题有两种方式:一是升级客户端工具来支持MySQL 8.x的认证方式;二是进入容器,修改MySQL的用户口令认证方式。下面是具体的步骤,我们先用`docker exec`命令进入容器的交互式环境,假设运行MySQL 8.x的容器名字叫`mysql8x`。 - -```Shell -docker exec -it mysql8x /bin/bash -``` - -进入容器的交互式Shell之后,可以首先利用MySQL的客户端工具连接MySQL服务器。 - -```Shell -mysql -u root -p -Enter password: -Your MySQL connection id is 16 -Server version: 8.0.12 MySQL Community Server - GPL -Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. -Oracle is a registered trademark of Oracle Corporation and/or its -affiliates. Other names may be trademarks of their respective -owners. -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. -mysql> -``` - -接下来通过SQL来修改用户口令就可以了。 - -```SQL -alter user 'root'@'%' identified with mysql_native_password by '123456' password expire never; -``` - -当然,如果愿意你也可以查看一下用户表检查是否修改成功。 - -```SQL -use mysql; -select user, host, plugin, authentication_string from user where user='root'; -+------+-----------+-----------------------+-------------------------------------------+ -| user | host | plugin | authentication_string | -+------+-----------+-----------------------+-------------------------------------------+ -| root | % | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | -| root | localhost | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | -+------+-----------+-----------------------+-------------------------------------------+ -2 rows in set (0.00 sec) -``` - -在完成上面的步骤后,现在即便不更新客户端工具也可以连接MySQL 8.x了。 - diff --git "a/Day91-100/92.\344\275\277\347\224\250Docker\351\203\250\347\275\262\346\234\215\345\212\241.md" "b/Day91-100/92.\344\275\277\347\224\250Docker\351\203\250\347\275\262\346\234\215\345\212\241.md" new file mode 100644 index 0000000..33481d8 --- /dev/null +++ "b/Day91-100/92.\344\275\277\347\224\250Docker\351\203\250\347\275\262\346\234\215\345\212\241.md" @@ -0,0 +1,799 @@ +## 使用Docker部署服务 + +### Docker简介 + +软件开发中最为麻烦的事情可能就是配置环境了。由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且在不同的环境下我们安装的软件需要依赖的软件包也是不一样的。 + +那么问题来了,我们安装软件的时候可不可以把软件运行的环境一并安装?我们是不是可以把原始环境一模一样地复制过来呢? + +虚拟机(virtual machine)就是带环境安装的一种解决方案,它可以在一种操作系统里面运行另一种操作系统,比如在Windows系统里面运行Linux系统,在macOS上运行Windows,而应用程序对此毫无感知。使用过虚拟机的人都知道,虚拟机用起来跟真实系统一模一样,而对于虚拟机的宿主系统来说,虚拟机就是一个普通文件,不需要了就删掉,对宿主系统或者其他的程序并没有影响。但是虚拟机通常会占用较多的系统资源,启动和关闭也非常的缓慢,总之用户体验并没有想象中的那么好。 + +Docker属于对Linux容器技术的一种封装(利用了Linux的namespace和cgroup技术),它提供了简单易用的容器使用接口,是目前最流行的 Linux 容器解决方案。Docker将应用程序与该程序的依赖打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。下图是虚拟机和容器的对比,左边是传统的虚拟机,右边是Docker。 + +![](./res/docker_vs_vm.png) + +目前,Docker主要用于几下几个方面: + +1. 提供一次性的环境。 +2. 提供弹性的云服务(利用Docker很容易实现扩容和收缩)。 +3. 实践微服务架构(隔离真实环境在容器中运行多个服务)。 + +### 安装Docker + +下面以CentOS为例讲解如何安装Docker,使用[Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/)、[macOS](https://docs.docker.com/docker-for-mac/install/)或[Windows](https://docs.docker.com/docker-for-windows/install/)的用户可以通过点击对应的链接了解这些平台下如何进行安装。 + +1. 确定操作系统内核版本(CentOS 7要求64位,内核版本3.10+;CentOS 6要求64位,内核版本2.6+),可以通过下面的命令确定Linux系统内核版本。 + +```Shell +uname -r +``` + +2. 在CentOS下使用yum安装Docker并启动。 + +```Shell +yum -y install docker +systemctl start docker +``` + +3. 查看Docker的信息和版本。 + +```Shell +docker version +docker info +``` + +接下来可以通过下载镜像和创建容器来看看Docker是否可以运转起来。可以使用下面的命令从Docker的镜像仓库下载名为hello-world的镜像文件。 + + ```Shell +docker pull hello-world + ``` + +查看所有镜像文件。 + +```Shell +docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +docker.io/hello-world latest fce289e99eb9 7 months ago 1.84 kB +``` + +通过镜像文件创建并运行容器。 + +```Shell +docker container run --name mycontainer hello-world +``` + +> 说明:其中`mycontainer`是我们给容器起的名字,跟在`--name`参数之后;`hello-world`就是我们刚才下载的镜像文件。 + +``` +Hello from Docker! +This message shows that your installation appears to be working correctly. + +To generate this message, Docker took the following steps: + 1. The Docker client contacted the Docker daemon. + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. + (amd64) + 3. The Docker daemon created a new container from that image which runs the + executable that produces the output you are currently reading. + 4. The Docker daemon streamed that output to the Docker client, which sent it + to your terminal. + +To try something more ambitious, you can run an Ubuntu container with: + $ docker run -it ubuntu bash + +Share images, automate workflows, and more with a free Docker ID: + https://hub.docker.com/ + +For more examples and ideas, visit: + https://docs.docker.com/get-started/ +``` + +如果要删除这个容器,可以使用下面的命令。 + +```Shell +docker container rm mycontainer +``` + +在删除容器之后,我们还可以删除刚才下载的镜像文件。 + +```Shell +docker rmi hello-world +``` + +> 说明:如果要在Ubuntu(内核版本3.10+)下面安装和启动Docker,可以按照如下的步骤进行。 +> +> ```Shell +> apt update +> apt install docker-ce +> service docker start +> ``` +> +> 国内用户可以通过更换Ubuntu软件下载源来提升下载速度,具体请参照清华大学开源软件镜像站上的[《Ubuntu镜像使用帮助》]()。 + +安装Docker后,由于直接访问[dockerhub](https://hub.docker.com/)下载镜像会非常缓慢,建议将服务器更换为国内镜像,可以通过修改 `/etc/docker/daemon.js` 文件来做到。 + +```JavaScript +{ + "registry-mirrors": [ + "http://hub-mirror.c.163.com", + "https://registry.docker-cn.com" + ] +} +``` + +### 使用Docker + +#### 安装Nginx + +下面我们就基于Docker来创建一台HTTP服务器,我们选择用Nginx来搭建该服务,因为Nginx是高性能的Web服务器,同时也是做反向代理服务器的上佳选择。要做到这件事情,只需要使用下面的命令在Docker中创建一个容器即可。 + +```Shell +docker container run -d -p 80:80 --rm --name mynginx nginx +``` + +> 说明:上面的参数`-d`表示容器在后台运行(不产生输出到Shell)并显示容器的ID;`-p`是用来映射容器的端口到宿主机的端口,冒号前面是宿主机的端口,冒号后面是容器内部使用的端口;`--rm`表示容器停止后自动删除容器,例如执行命令`docker container stop mynginx`后,容器就不复存在了;`--name`后面的mynginx是自定义的容器名字;在创建容器的过程中,需要用到nginx的镜像文件,镜像文件的下载是自动完成的,如果没有指定版本号,默认是最新版本(latest)。 + +如果需要将自己的Web项目(页面)部署到Nginx上,可以使用容器拷贝命令将指定路径下所有的文件和文件夹拷贝到容器的指定目录中。 + +```Shell +docker container cp /root/web/index.html mynginx:/usr/share/nginx/html +``` + +如果不愿意拷贝文件也可以在创建容器时通过数据卷操作`--volume`将指定的文件夹映射到容器的某个目录中,例如将Web项目的文件夹直接映射到`/usr/share/nginx/html`目录。我们先通过下面的命令让刚才创建的容器停止运行。 + +```Shell +docker container stop mynginx +``` + +然后用下面的命令重新创建容器。 + +```Shell +docker container run -d -p 80:80 --rm --name mynginx --volume $PWD/html:/usr/share/nginx/html nginx +``` + +> 说明:上面创建容器和拷贝文件的命令中,`container`是可以省略的,也就是说`docker container run`和`docker run`是一样的,而`docker container cp`和`docker cp`是一样的。此外,命令中的`--volume`也可以缩写为`-v`,就如同`-d`是`--detach`的缩写,`-p`是`--publish`的缩写。`$PWD`代表宿主系统当前文件夹,这些对于使用过Unix或者Linux系统的人来说,应该是很容易理解的。 + +要查看运行中的容器,可以使用下面的命令。 + +```Shell +docker ps +``` + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +3c38d2476384 nginx "nginx -g 'daemon ..." 4 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp mynginx +``` + +要启动和停止容器,可以使用下面的命令。 + +```Shell +docker start mynginx +docker stop mynginx +``` + +由于在创建容器时使用了`--rm`选项,容器在停止时会被移除,当我们使用下面的命令查看所有容器时,应该已经看不到刚才的`mynginx`容器了。 + +```Shell +docker container ls -a +``` + +如果在创建容器时没有指定`--rm`选项,那么也可以使用下面的命令来删除容器。 + +```Shell +docker rm mynginx +``` + +要删除正在运行中的容器,需要使用`-f`选项。 + +```Shell +docker rm -f mynginx +``` + +#### 安装MySQL + +我们再来尝试用Docker安装一台MySQL服务器,首先可以先检查一下有没有MySQL的镜像文件。 + +```Shell +docker search mysql +``` + +``` +INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED +docker.io docker.io/mysql MySQL is a ... 8486 [OK] +... +``` + +> 说明:上面查询结果的列依次代表索引、镜像名、镜像描述、用户评价、是否官方镜像、自动构建。 + +下载MySQL镜像并指定镜像的版本号。 + +```Shell +docker pull mysql:5.7 +``` + +如果需要查看已经下载的镜像文件,可以使用下面的命令。 + +```Shell +docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +docker.io/nginx latest e445ab08b2be 2 weeks ago 126 MB +docker.io/mysql 5.7 f6509bac4980 3 weeks ago 373 MB +``` + +创建并运行MySQL容器。 + +```Shell +docker run -d -p 3306:3306 --name mysql57 -v $PWD/mysql/conf:/etc/mysql/mysql.cnf.d -v $PWD/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 +``` + +注意,上面创建容器时我们又一次使用了数据卷操作,那是因为通常容器是随时创建随时删除的,而数据库中的数据却是需要保留下来的,所以上面的两个数据卷操作一个是映射了MySQL配置文件所在的文件夹,一个是映射了MySQL数据所在的文件夹,这里的数据卷操作非常重要。我们可以将MySQL的配置文件放在`$PWD/mysql/conf`目录下,配置文件的具体内容如下所示: + +```INI +[mysqld] +pid-file=/var/run/mysqld/mysqld.pid +socket=/var/run/mysqld/mysqld.sock +datadir=/var/lib/mysql +log-error=/var/log/mysql/error.log +server-id=1 +log-bin=/var/log/mysql/mysql-bin.log +expire_logs_days=30 +max_binlog_size=256M +symbolic-links=0 +``` + +如果安装了MySQL 8.x版本(目前的最新版本),在使用客户端工具连接服务器时可能会遇到`error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded`的问题,这是因为MySQL 8.x默认使用了名为“caching_sha2_password”的机制对用户口令进行了更好的保护,但是如果客户端工具不支持新的认证方式,连接就会失败。解决这个问题有两种方式:一是升级客户端工具来支持MySQL 8.x的认证方式;二是进入容器,修改MySQL的用户口令认证方式。下面是具体的步骤,我们先用`docker exec`命令进入容器的交互式环境,假设运行MySQL 8.x的容器名字叫`mysql8x`。 + +```Shell +docker exec -it mysql8x /bin/bash +``` + +进入容器的交互式Shell之后,可以首先利用MySQL的客户端工具连接MySQL服务器。 + +```Shell +mysql -u root -p +Enter password: +Your MySQL connection id is 16 +Server version: 8.0.12 MySQL Community Server - GPL +Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +Oracle is a registered trademark of Oracle Corporation and/or its +affiliates. Other names may be trademarks of their respective +owners. +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. +mysql> +``` + +接下来通过SQL来修改用户口令就可以了。 + +```SQL +alter user 'root'@'%' identified with mysql_native_password by '123456' password expire never; +``` + +当然,如果愿意你也可以查看一下用户表检查是否修改成功。 + +```SQL +use mysql; +select user, host, plugin, authentication_string from user where user='root'; ++------+-----------+-----------------------+-------------------------------------------+ +| user | host | plugin | authentication_string | ++------+-----------+-----------------------+-------------------------------------------+ +| root | % | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +| root | localhost | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | ++------+-----------+-----------------------+-------------------------------------------+ +2 rows in set (0.00 sec) +``` + +在完成上面的步骤后,现在即便不更新客户端工具也可以连接MySQL 8.x了。 + +#### 安装Redis + +接下来我们试一试运行多个容器并让多个容器之间通过网络通信。我们创建4个Redis容器来实现一主三从的主从复制结构。 + +```Shell +docker run -d -p 6379:6379 --name redis-master redis redis-server +docker run -d -p 6380:6379 --name redis-slave-1 --link redis-master:redis-master redis redis-server --replicaof redis-master 6379 +docker run -d -p 6381:6379 --name redis-slave-2 --link redis-master:redis-master redis redis-server --replicaof redis-master 6379 +docker run -d -p 6382:6379 --name redis-slave-3 --link redis-master:redis-master redis redis-server --replicaof redis-master 6379 +``` + +上面的命令中,`--link`参数用于给容器创建网络别名,因为三台从机(slave)需要通过网络连接自己的主机(master)。虽然,我们可以通过`docker inspect --format '{{ .NetworkSettings.IPAddress }}' `命令来查看到容器的IP地址,但是由于容器的即装即用性,容器的IP地址有可能会发生变化,如果直接使用IP地址,在容器重启后就可能会因为IP地址的变化导致从机无法连接到主机。使用`--link`参数创建网络别名就是为了在启动Redis服务器时在`redis-server`后面的`--replicaof`参数后使用这个别名而不是IP地址。 + +接下来我们进入名为`redis-master`的容器,看看主从复制的配置是否成功。 + +```Shell +docker exec -it redis-master /bin/bash +``` + +通过`redis-cli`启动命令行工具。 + +```Shell +redis-cli +127.0.0.1:6379> info replication +# Replication +role:master +connected_slaves:3 +slave0:ip=172.17.0.4,port=6379,state=online,offset=1988,lag=0 +slave1:ip=172.17.0.5,port=6379,state=online,offset=1988,lag=1 +slave2:ip=172.17.0.6,port=6379,state=online,offset=1988,lag=1 +master_replid:94703cfa03c3ddc7decc74ca5b8dd13cb8b113ea +master_replid2:0000000000000000000000000000000000000000 +master_repl_offset:1988 +second_repl_offset:-1 +repl_backlog_active:1 +repl_backlog_size:1048576 +repl_backlog_first_byte_offset:1 +repl_backlog_histlen:1988 +``` + +### 构建镜像 + +Docker镜像是由文件系统叠加而成的,系统的最底层是bootfs,相当于就是Linux内核的引导文件系统;接下来第二层是rootfs,这一层可以是一种或多种操作系统(如Debian或Ubuntu文件系统),Docker中的rootfs是只读状态的;Docker利用联合挂载技术将各层文件系统叠加到一起,最终的文件系统会包含有底层的文件和目录,这样的文件系统就是一个镜像,如下图所示。 + +之前我们讲过了如何查找、列出镜像和拉取(下载)镜像,接下来看看构建镜像的两种方式: + +1. 使用`docker commit`命令。(不推荐) +2. 使用`docker build`命令和Dockerfile文件。 + +#### 使用commit命令构建镜像 + +为了演示如何构建镜像,我们先使用Ubuntu镜像来定制一个容器,命令如下所示。 + +```Shell +docker run --name myubuntu -it ubuntu /bin/bash +``` + +在容器中执行下面的命令来安装Apache服务器并退出容器。 + +```Shell +apt -y upgrade +apt -y install apache2 +exit +``` + +我们将这个容器作为一个定制的Web服务器保存起来,当需要这样一台Web服务器的时候,就没有必要重新创建容器并安装Apache了。 + +首先我们通过下面的命令查看容器的ID。 + +```Shell +docker container ls -a +``` + +``` +docker container ls -a +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +014bdb321612 ubuntu "/bin/bash" 5 minutes ago Exited (0) myubuntu +``` + +提交定制的容器。 + +```Shell +docker commit 014bdb321612 jackfrued/mywebserver +``` + +查看镜像文件。 + +```Shell +docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +jackfrued/mywebserver latest 795b294d265a 14 seconds ago 189 MB +``` + +生成镜像文件以后,后面就可以利用刚才创建的镜像文件来创建新的容器。 + +#### 使用Dockerfile构建镜像 + +Dockerfile使用DSL(Domain Specific Language)来构建一个Docker镜像,只要编辑好了Dockerfile文件,就可以使用`docker build`命令来构建一个新的镜像。 + +我们先创建一个新的文件夹并在文件夹下创建名为Dockerfile的文件。 + +```Shell +mkdir test +cd test +touch Dockerfile +``` + +编辑这个Dockerfile文件添加如下所示的内容。 + +```Shell +vim Dockerfile +``` + +```Dockerfile +# version: 0.0.1 +FROM ubuntu:14.04 +MAINTAINER jackfrued "jackfrued@126.com" +RUN apt-get update && apt-get install -y nginx +RUN echo 'hello, world!' > /usr/share/nginx/html/index.html +EXPOSE 80 +``` + +我们来解释一下上面的Dockerfile文件。Dockerfile文件通过特殊的指令来指定基础镜像(FROM指令)、创建容器后需要指定的命令(RUN指令)以及需要暴露的端口(EXPOSE)等信息。我们稍后会专门为大家介绍这些Dockfile中的指令。 + +接下来我们可以使用`docker build`命令来创建镜像,如下所示。 + +```Shell +docker build -t="jackfrued/webserver" . +``` + +通过下面的命令可以查看创建好的镜像。 + +```Shell +docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +jackfrued/webserver latest 87d6cb096be2 23 minutes ago 222 MB +``` + +如果想知道镜像文件是如何创建出来的,可以使用下面的命令。 + +```Shell +docker history jackfrued/webserver +``` + +``` +IMAGE CREATED CREATED BY SIZE +87d6cb096be2 25 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B +53d3bc3a123e 25 minutes ago /bin/sh -c service nginx start 3 B +10646b63275e 25 minutes ago /bin/sh -c echo 'hello, world!' > /usr/sha... 14 B +f3e3bf3e998e 25 minutes ago /bin/sh -c apt-get update && apt-get insta... 34.3 MB +c98e22cf5a64 26 minutes ago /bin/sh -c #(nop) MAINTAINER jackfrued "j... 0 B +2c5e00d77a67 3 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B + 3 months ago /bin/sh -c mkdir -p /run/systemd && echo '... 7 B + 3 months ago /bin/sh -c rm -rf /var/lib/apt/lists/* 0 B + 3 months ago /bin/sh -c set -xe && echo '#!/bin/sh' >... 195 kB + 3 months ago /bin/sh -c #(nop) ADD file:1e01ab604c0cc30... 188 MB +``` + +使用该镜像来创建容器运行Web服务器。 + +```Shell +docker run -d -p 80:80 --name mywebserver jackfrued/webserver nginx -g "daemon off;" +``` + +如果希望将上面创建的镜像文件放到dockerhub仓库中,可以按照如下所示的步骤进行操作。 + +通过下面的命令登录到dockerhub。 + +```Shell +docker login +``` + +输入用户名和口令进行登录。 + +``` +Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. +Username: jackfrued +Password: +Login Succeeded +``` + +通过下面的命令将镜像推到仓库中。 + +```Shell +docker push jackfrued/webserver +``` + +![](./res/dockerhub-repo.png) + +#### Dockerfile指令 + +想了解Dockerfile的指令可以查看官方提供的[参考手册](),下面我们为大家介绍一些常用的指令。 + +1. **FROM**:设置基础镜像,必须是Dockerfile中的第一条指令。 + + ```Dockerfile + FROM <镜像名> [AS <别名>] + ``` + + 或 + + ```Dockerfile + FROM <镜像名>[:<标签>] [AS <别名>] + ``` + +2. **RUN**:指定构建镜像时要执行的命令。 + + ```Dockerfile + RUN <命令> [参数1], [参数2], ... + ``` + + 或 + + ```Dockerfile + RUN ["可执行文件", "参数1", "参数2", ...] + ``` + +3. **CMD**:指定构建镜像后要执行的命令。 + + ```Dockerfile + CMD <命令> [参数1], [参数2], ... + ``` + + 或 + + ```Dockerfile + CMD ["可执行文件", "参数1", "参数2", ...] + ``` + + > 说明:Docker不同于虚拟机,容器本身就是一个进程,容器中的应用应该位于前台运行。CMD命令相当于就是用来指定容器主进程(创建容器后要在前台执行的程序)的,如果主进程结束了,容器也就停止运行了。所以在容器中启动Nginx不能使用`service nginx start`或是`systemctl start nginx`而是要通过`CMD ["nginx", "-g", "daemon off;"]`让它在前台运行。 + +4. **ENTRYPOINT**:和CMD类似,也可以执行命令,但`docker run`命令行中指定的任何参数都会被当做参数再次传给ENTRYPOINT指令中的命令,这就使得我们可以构建一个镜像,它既可以运行一个默认的命令,也支持通过`docker run`命令行为该命令指定可覆盖的参数选项。 + + ```Dockerfile + ENTRYPOINT <命令> [参数1], [参数2], ... + ``` + + 或 + + ```Dockerfile + ENTRYPOINT ["可执行文件", "参数1", "参数2", ...] + ``` + +5. **WORKDIR**:在通过镜像创建新容器时,在容器内部创建一个工作目录,ENTRYPOINT和CMD指定的程序会在这个目录下执行。在使用`docker run`命令时可以通过`-w`参数来覆盖由WORKDIR指定的工作目录。例如: + + ```Dockerfile + WORKDIR /opt/webapp + ``` + + ```Shell + docker run -w /usr/share/webapp ... + ``` + +6. **ENV**:在创建镜像时设置环境变量。在使用`docker run`命令时,可以通过`-e`参数来修改环境变量的设置。例如: + + ```Dockerfile + ENV DEFAULT_PORT=8080 + ``` + + ```Shell + docker run -e "DEFAULT_PORT=8000" ... + ``` + +7. **USER**:指定镜像会以什么用户身份去运行。例如: + + ```Dockerfile + USER nginx + ``` + +8. **VOLUME**:在创建容器时添加一个数据卷的挂载点。通过数据卷操作可以实现容器间数据的共享和重用,对卷所作的修改可以马上生效而不需要重新启动容器,我们之前创建容器时使用`—volume`参数就是为了实现数据卷的映射操作。 + + ```Dockerfile + VOLUME ["/路径1", "/路径2/子路径2.1/", ...] + ``` + +9. **ADD**:将构建目录下的文件和文件夹复制到镜像中,如果是压缩文件和归档文件,ADD命令会对这些文件进行解压缩解归档的操作。 + + ```Dockerfile + ADD [--chown=<用户>:<用户组>] <源文件> <目标文件> + ``` + +10. **COPY**:非常类似于ADD,但不会主动对文件进行提取操作。 + +11. **LABEL**:为Docker镜像添加一些元数据,在使用`docker inspect`命令时会看到这些元数据。 + + ```Dockerfile + LABEL version="1.0.0" location="Chengdu" + ``` + +12. **ONBUILD**:为镜像添加触发器,当一个镜像被用作其他镜像的基础镜像,触发器将会被执行。例如: + + ```Dockerfile + ONBUILD ADD . /app/src + ONBUILD RUN cd /app/src && make + ``` + +### 容器编排 + +我们的项目可能会使用了多个容器,容器多了之后管理容器的工作就会变得麻烦。如果要对多个容器进行自动配置使得容器可以相互协作甚至实现复杂的调度,这就需要进行容器编排。Docker原生对容器编排的支持非常弱,但是可以通过社区提供的工具来实现容器编排。 + +#### Docker Compose + +可以通过安装Docker Compose工具来实现基于YAML文件的容器编排,YAML文件会定义一系列的容器以及容器运行时的属性,Docker Compose会根据这些配置来管理容器。 + +1. 安装Docker Compose。 + + ```Shell + curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + ``` + + > 说明:如果没有curl工具,在CentOS下可以先通过包管理工具yum安装curl再执行上面的命令。 + + 当然我们也可以使用Python的包管理工具pip来安装Docker Compose,命令如下所示。 + + ```Shell + pip3 install -U docker-compose + ``` + +2. 使用Docker Compose。 + + 我们先创建一个名为`composeapp`的文件夹并在该文件夹下创建两个子文件夹`product-service`和`web-site`,如下所示。 + + ```Shell + mkdir composeapp + cd composeapp + mkdir product-service + mkdir web-site + ``` + + 我们先在`product-service`文件夹下编写提供数据的API接口程序。 + + ```Shell + vim product-service/api.py + ``` + + 我们用Flask来实现一个非常简单的数据接口服务程序。 + + ```Python + from pickle import dumps, loads + + from flask import Flask + from flask_restful import Resource, Api + from redis import Redis + from flask_cors import CORS + + app = Flask(__name__) + CORS(app, resources={r'/api/*': {'origins': '*'}}) + api = Api(app) + redis = Redis(host='redis-master', port=6379) + + + class Product(Resource): + + def get(self): + data = redis.get('products') + if not data: + products = ['Ice Cream', 'Chocolate', 'Coca Cola', 'Hamburger'] + redis.set('products', dumps(products)) + else: + products = loads(data) + return {'products': products} + + + api.add_resource(Product, '/api/products') + + if __name__ == '__main__': + app.run(host='0.0.0.0', port=8000, debug=True) + ``` + + 由于上面的项目需要依赖`flask`、 `flask-restful`等三方库,所以我们再添加一个指明依赖库的文件并将其命名为`requirements.txt`,其内容如下所示。 + + ```Shell + vim product-service/requirements.txt + ``` + + ``` + flask + flask-restful + flask-cors + redis + ``` + + 稍后我们会将上面的接口服务放在一个容器中运行,为此我们先编写一个Dockerfile文件以便创建对应的镜像,其内容如下所示。 + + ```Shell + vim product-service/Dockerfile + ``` + + ```Dockerfile + FROM python:3 + ADD . /root/product-service + WORKDIR /root/product-service + RUN pip install -r requirements.txt + CMD ["python", "api.py"] + ``` + + 我们再去到`web-site`目录下创建一个页面,稍后我们会通一个容器来提供Nginx服务并运行该页面,而这个页面会访问我们刚才部署的数据接口服务获取数据并通过Vue.js将数据渲染到页面上。 + + ```Shell + vim web-site/index.html + ``` + + ```HTML + + + + + 首页 + + +
+

产品列表

+
    +
  • {{ product }}
  • +
+
+ + + + + ``` + + 接下来,我们要通过一个YAML文件来创建三个容器并指明容器之间的依赖关系。 + + ```Shell + vim docker-compose.yml + ``` + + ```YAML + version: '3' + services: + + product-service: + build: ./product-service + ports: + - '8000:8000' + links: + - redis-master + + web-site: + image: nginx + ports: + - '80:80' + volumes: + - ./web-site:/usr/share/nginx/html + + redis-master: + image: redis + expose: + - '6379' + ``` + + 有了这个YAML文件,我们就可以使用`docker-compose`命令来创建和管理这三个容器,其命令如下所示。 + + ```Shell + docker-compose up + ``` + + ``` + Creating network "composeapp_default" with the default driver + Building product-service + Step 1/5 : FROM python:3 + ---> e497dabd8450 + Step 2/5 : ADD . /root/product-service + ---> fbe62813d595 + Removing intermediate container 6579e845565a + Step 3/5 : WORKDIR /root/product-service + ---> 3a722675e3b1 + Removing intermediate container 57fc490436ce + Step 4/5 : RUN pip install -r requirements.txt + ---> Running in cadc2d0c1b9b + ... ... + ---> fc747fc11f4a + Removing intermediate container cadc2d0c1b9b + Step 5/5 : CMD python api.py + ---> Running in ecbbd2a69906 + ---> 637e760f2e5b + Removing intermediate container ecbbd2a69906 + Successfully built 637e760f2e5b + WARNING: Image for service product-service was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`. + Creating composeapp_redis-master_1 ... done + Creating composeapp_web-site_1 ... done + Creating composeapp_product-service_1 ... done + Attaching to composeapp_redis-master_1, composeapp_web-site_1, composeapp_product-service_1 + ... ... + ``` + + + diff --git "a/Day91-100/93.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\345\222\214OOAD.md" "b/Day91-100/93.MySQL\346\200\247\350\203\275\344\274\230\345\214\226.md" similarity index 64% rename from "Day91-100/93.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\345\222\214OOAD.md" rename to "Day91-100/93.MySQL\346\200\247\350\203\275\344\274\230\345\214\226.md" index 2281042..de8beed 100644 --- "a/Day91-100/93.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\345\222\214OOAD.md" +++ "b/Day91-100/93.MySQL\346\200\247\350\203\275\344\274\230\345\214\226.md" @@ -1,31 +1,17 @@ -## 数据库设计和OOAD +## MySQL性能优化 -### 存储引擎 +### 使用索引 -1. InnoDB -2. MyISAM - -### 数据类型 - -### 索引 - -#### 索引的类型 +在前面[《关系型数据库MySQL》](../Day36-40/36-38.关系型数据库MySQL.md)一文中,我们已经讲到过索引的相关知识,这里我们做一个简单的回顾。 1. B-Tree索引 2. HASH索引 3. R-Tree索引(空间索引) 4. Full-text索引(全文索引) -### 视图 - -查询的快照,可以将访问权限控制到列上。 - -```SQL -create view ... as select ... -drop view ... -``` +### 使用过程 -### 存储过程 +过程,通常也称之为存储过程。 ```SQL create procedure ... (params) @@ -40,20 +26,12 @@ call ... cursor.callproc('...') ``` -### 触发器 - -不能用,因为多个行锁可能直接升级为表锁,导致性能低下。 +### 数据分区 -### 事务控制 -### SQL注入攻击 - -### 数据分区 ### SQL优化 -#### 优化步骤 - 1. 通过`show status`了解各种SQL的执行频率。 ```SQL @@ -82,20 +60,20 @@ cursor.callproc('...') 4. 通过`show profiles`和`show profile for query`分析SQL。 -#### SQL优化 +5. 优化CRUD操作。 -1. 优化insert语句 -2. 优化order by语句 -3. 优化group by语句 -4. 优化嵌套查询 -5. 优化or条件 -6. 优化分页查询 -7. 使用SQL提示 - - USE INDEX - - IGNORE INDEX - - FORCE INDEX + - 优化insert语句 + - 优化order by语句 + - 优化group by语句 + - 优化嵌套查询 + - 优化or条件 + - 优化分页查询 + - 使用SQL提示 + - USE INDEX + - IGNORE INDEX + - FORCE INDEX -#### 配置优化 +### 配置优化 1. 调整max_connections 2. 调整back_log @@ -103,7 +81,7 @@ cursor.callproc('...') 4. 调整thread_cache_size 5. 调整innodb_lock_wait_timeout -#### 架构优化 +### 架构优化 1. 通过拆分提高表的访问效率 - 垂直拆分 @@ -115,21 +93,6 @@ cursor.callproc('...') - 3NF:所有的属性都直接依赖于主键(消除传递依赖) - BCNF:消除非平凡多值依赖 3. 使用中间表提高统计查询速度 - -### 数据备份 - -#### 导入和导出 - -1. select ... into outfile ... -2. load data infile ... into table ... -3. mysqldump -4. mysqlimport - -#### ibbackup工具 - -#### xtrabackup工具 - -### 主从复制 - -### 集群 +4. 主从复制和读写分离 +5. 配置MySQL集群 diff --git "a/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\351\241\271\347\233\256.md" "b/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md" similarity index 99% rename from "Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\351\241\271\347\233\256.md" rename to "Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md" index 3ee684f..26bdf40 100644 --- "a/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\351\241\271\347\233\256.md" +++ "b/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md" @@ -1,4 +1,4 @@ -## 使用Django开发项目 +## 使用Django开发商业项目 > 说明:本文的部分插图来自于《Python项目开发实战》和《精通Django》,这两本书中都包含了对Django框架精彩的讲解,有兴趣的读者可以自行购买阅读。 diff --git a/Day91-100/res/dockerhub-repo.png b/Day91-100/res/dockerhub-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e1ab88dd782c2dd48d5f6a3087ad08e4ac1ee3 GIT binary patch literal 147702 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 作者:骆昊 > -> 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人,光靠我自己已经无法及时处理小伙伴们的入群申请,更无法及时为大家解答问题。目前我的想法是分技术方向建立讨论群并安排专门的人来管理这些群,群管理者应该具备专业的知识并有相对充裕的时间,可以解答小伙伴们提出的问题。当然,我会向这些管理者支付报酬,如果有兴趣成为管理者的可以跟我私聊。希望通过这种方式,我们能汇聚更多优秀的Python开发者,一方面打造沟通和交流的平台,另一方面让新入行的开发者获得问道的途径并藉此迅速成长。我会继续努力做好线上公开课以及线下技术交流活动,也希望各位小伙伴一如既往的支持我们。创作不易,感谢大家的打赏支持,这些钱不会用于购买咖啡而是捐赠给支教组织([点击](./更新日志.md)了解捐赠情况)。感谢**北京千锋互联科技有限公司Python教学部**对[公开课](https://ke.qq.com/course/406954)提供的支持。 +> 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人,光靠我自己已经无法及时处理小伙伴们的入群申请,更无法及时为大家解答问题。目前我的想法是分技术方向建立讨论群并安排专门的人来管理这些群,群管理者应该具备专业的知识并有相对充裕的时间,可以解答小伙伴们提出的问题。当然,我会向这些管理者支付报酬,如果有兴趣成为管理者的可以跟我私聊。但愿通过这种方式,我们的群能汇聚更多优秀的Python开发者,一方面打造一个优质的沟通和交流的平台,另一方面让新入行的开发者获得问道的途径并藉此迅速成长。我会继续努力做好线上公开课以及线下技术交流活动,也希望各位小伙伴一如既往的支持我们。创作不易,感谢大家的打赏支持,这些钱不会用于购买咖啡而是捐赠给支教组织([点击](./更新日志.md)了解捐赠情况)。感谢北京千锋互联科技有限公司对[公开课](https://ke.qq.com/course/406954)提供的支持。 ![](./res/python_qq_group.png) @@ -546,38 +546,37 @@ | | 查看评论 | 白元芳 | 正在进行 | 20% | 4 | 2018/8/7 | | 2018/8/7 | | 需要进行代码审查 | | | 评论投票 | 白元芳 | 等待 | 0% | 4 | 2018/8/8 | | 2018/8/8 | | | -#### 第92天:[Docker的使用](./Day91-100/92.Docker在项目中的应用.md) +4. OOAD和数据库设计 -#### 第93天:[数据库设计和OOAD](./Day91-100/93.数据库设计和OOAD.md) + - UML(统一建模语言)的类图 -##### 概念模型和正向工程 + ![uml](./res/uml-class-diagram.png) -1. UML(统一建模语言)的类图 + - 通过模型创建表(正向工程) - ![uml](./res/uml-class-diagram.png) + ```Shell + python manage.py makemigrations app + python manage.py migrate + ``` -2. 通过模型创建表(正向工程) + - 使用PowerDesigner绘制物理模型图。 - ```Shell - python manage.py makemigrations app - python manage.py migrate - ``` + ![](./res/power-designer-pdm.png) -##### 物理模型和反向工程 + - 通过数据表创建模型(反向工程) -1. PowerDesigner + ```Shell + python manage.py inspectdb > app/models.py + ``` - ![](./res/power-designer-pdm.png) -2. 通过数据表创建模型(反向工程) +#### 第92天:[Docker的使用](./Day91-100/92.Docker在项目中的应用.md) - ```Shell - python manage.py inspectdb > app/models.py - ``` +#### 第93天:[MySQL性能优化](./Day91-100/93.MySQL性能优化.md) #### 第94天:[网络API接口设计](./Day91-100/94.网络API接口设计.md) -#### 第95天:[使用Django开发项目](./Day91-100/95.使用Django开发项目.md) +#### 第95天:[使用Django开发商业项目](./Day91-100/95.使用Django开发商业项 目.md) ##### 项目开发中的公共问题 @@ -625,7 +624,7 @@ - uWSGI支持异构部署。 - 由于Nginx本身支持uWSGI,在线上一般都将Nginx和uWSGI捆绑在一起部署,而且uWSGI属于功能齐全且高度定制的WSGI中间件。 - 在性能上,Gunicorn和uWSGI其实表现相当。 -5. 虚拟化技术(Docker) +5. 使用虚拟化技术(Docker)部署测试环境和生产环境 ##### 性能测试 -- GitLab