当前位置: 首页 > 网络应用技术

如何使用djangodocker

时间:2023-03-08 21:08:55 网络应用技术

  简介:今天,首席CTO Note将与您分享如何使用Djangodocker。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  本文目录清单:

  1.您如何使用Docker 2.如何使用Docker部署容器3. Django应用程序集装箱部署4. Docker Building and使用5.如何使用Docker撰写来配置Django应用程序开发环境开发环境开发环境的开发环境

  在加深Docker和IDE细节之前,让我们看看为什么我们必须将Docker放入基本的开发工具列表中。

  构建系统

  首先,Docker可以使我们的施工环境变得可移植,重复和保持隔离。在这里,您假设您已经安装了Docker):

  Docker Run GCC:5.1 GCC -O Helloworld Helloword.c.c

  很棒的是您可以在任何地方运行它,您不必忽略依赖库文件的库文档,先前的冲突或GCC的安装。服务器。

  操作环境

  它也适用于运行时环境。如果您只想在Tomcat 8上运行Java Web应用程序,则只能使用它:

  docker run tomcat:8 -v helloworld.war:/usr/local/tomcat/webapps/heellown.war

  同样,您也无需担心依赖性,平台配置或Linux分发之间的差异,可以完成这些Docker。

  Docker和IDE

  好吧,这应该非常清楚为什么Docker现在对开发真正有用。正如我们所描述的那样,您可以使用自己喜欢的外壳执行这些命令。问题是开发人员很懒惰。这意味着,如果我们在最喜欢的IDE中,我们不想在IDE外运行以使用Docker。我们想直接从IDE运行容器。

  不幸的是,主要IDE现在不支持Docker。

  那么,您真的想在IDE中看到Docker吗?

  您想在容器中运行IDE吗?

  Docker Run Eclipse

  可汗,这不是容器的用法。集装箱中的run图形应用,太复杂且缺乏移植性。

  您想从IDE运行一个容器吗?

  没错!我们希望看到对Dockerfile的支持,Docker撰写YML文件,IDE以在容器中构建系统和操作环境。LET查看详细要求:

  支持Dockerfile

  Dockerfile支持语法突出显示,自动补充(按CTRL+空格键时,Dockerfile指令将自动弹出)和语法验证(在执行Docker build之前,IDE必须指向语法错误)

  支持Docker撰写YML文件

  更有趣的是支持Docker组成的YML文件。这将允许容器(例如链接和音量)之间的关系,或者从编辑器中启动多个容器。这真的很酷!

  IDE施工系统

  当然,您需要在IDE中获得容器的支持。具体来说,容器可以构建您的源文件。如果您使用Docker的各种语言特征,则可能会变得更容易。

  IDE运行环境

  我们期待IDE的最后一个功能,以启动容器的操作环境。

  Doclipser简介

  根据上述四个功能,我们已经构建了Doclipser,Eclipse插头的编辑,并构建和运行Docker容器。

  Doclipser支持Dockerfile:突出显示语法,自动完成和语法验证。尽管它仍然不支持Docker组成的YML文件,但可以执行某些Docker命令来构建源文件或启动操作环境。

  Doclipser并不是唯一的Docker Eclipse插件。这里是一个出色的Eclipse docker工具集(以下称为:EDT),该工具由JBOSS维护并使用Eclipse Linux工具包进行分发。在IDE中:有两种不同的方法:

  Doclipser专注于通过支持Dockerfiles来编辑和操作容器。在将来的版本中,它将为Docker组成的YML文件提供支持。

  EDT具有更高级的管理方法,用于Docker镜子和容器,但缺乏对Dockerfiles的支持。

  domeide.github.io

  想象一下,为了启动网站,您不必从裸露的金属中安装完整的服务器。要安装操作系统,然后安装服务器软件,然后部署精心设计的应用程序或站点。您可以简单地在独立软件包中开发所有内容,然后使用单个命令来启动它。

  这是使用容器的众多好处之一。它们使开发和部署周期非常有效。但是您如何部署这些容器?我想指导您在这里完成此过程。我们将专注于部署基本的NGINX Web服务器作为Ubuntu Server上的容器18.04。所有这些都将在Docker的帮助下完成。

  为了成功将NGINX部署为容器,您需要有以下条件:

  - Ubuntu Server的运行实例18.04使用Docker安装。

  -M Docker Group的成员

  是的,有了这两个部分,您就准备好了。

  您部署的每个容器将基于从dockerhub提取的图像。您可以随时删除单个图像并随时使用它。dockerhub上有许多图像用于单个应用程序或平台。对于Dockerhub上的Nginx,您将获得约56,172个条目。这并不意味着每个项目都是可以使用的可用图像。

  图像名称如下:

  例如,对于nginx,您可能会找到名称的镜子:

  也许您可能会发现:

  您还看到,几乎需要所有镜子。

  在使用图像之前,必须将其保存在本地驱动器上。有两种方法可以这样做:

  - 直接使用拉动命令

  - 在容器部署期间间接地捕获。

  要从Dockerhub汲取图像,您将打开一个终端窗口并发送命令:

  如果要提取入口图像,则命令是:

  拉动所需图像后,您可以使用命令确认是否存在:

  上面的命令将列出您绘制的所有镜子(图A)。

  拉随机图像时要谨慎。为什么?因为您永远不知道创建它们的原因。容器可能包含恶意代码并可能对您的网络或数据造成严重损害。因此,最好仅使用官方图像(例如Nginx图片)。

  部署容器现在。如果您尚未拉出图像,则将在部署阶段降落所需的镜像图像。

  要部署容器,请使用Docker命令,如下所示:

  评论:

  -NAME等于您要为容器提供的名称(这可以是任何内容,例如Nginx-jight)。

  - 您要使用的端口(以网络端口的形式:容器端口)。

  图像中使用图像(例如Nginx)。

  因此,部署NGINX容器的基本命令是:

  该容器将被部署,并且可以在端口80上用于本地网络上的NGINX Web服务器。端口8080,如下所示:

  在这一点上,您可能会看到下一个问题。运行上述命令之一后,将不会返回BASH提示(图B)。

  您如何运行容器并获取bash提示符?为此,您必须在分离模式下运行容器。在此之前,您必须使用键盘组合[ctrl] +终止当前容器。组合将返回提示。并杀死容器。

  要确定容器是否运行,请使用命令:

  它将列出所有容器及其状态(图C)。

  如果容器仍在运行,我们必须在部署另一个容器在同一端口之前终止它(否则端口将冲突以防止容器部署)。杀死正在运行的容器,首先是容器ID(随机字符串ID))。在发出Docker PS -A命令时显示此字符串。要终止正在运行的容器,请使用命令:

  容器_id是相关容器的ID。

  然后,您可以使用以下命令删除容器:

  容器_id是相关容器的ID。

  请注意,您不必输入完整的容器ID,并且字符串的前四个字符就足够了。

  现在,必须在分离模式下部署容器。命令是:

  这次,您不仅会得到提示,而且Docker将显示容器ID(图D)。

  如果您想在正在运行的容器上工作怎么办?假设您要更改nginx甚至开始开发将显示的网站?:

  容器_id是容器的ID。

  现在,您应该在操作容器提示符(图E)中,并且可以开始处理其中的Nginx服务器。

  要退出容器,只需键入命令出口即可。

  7.比您想象的要容易

  我希望到目前为止,您会发现容器部署并不像您想象的那样具有挑战性。在Docker的帮助下,您可以在几分钟内启动专业版本和服务。

  原始链接:

  部署一种容器化方法以在容器中运行。

  首先,创建Dockerfile:

  然后,输入dockerfile文件目录,执行命令以构建镜像映像,镜像名称为myproject:v1:docker build -t myproject:v1。

  施工完成后,您可以看到我们刚刚创建的图像:

  最后,启动容器:Docker Run -D -P 9999:8000 -V/home/myproject/:/myproject/ - 名称myProject1 myproject:v1

  Docker命令和Docker Engine通过UnixSocket进行通信,但是可以访问UnixSocket的用户只能由Root和Docker Group的用户访问,因此我们需要构建一个Docker组,并添加需要访问Docker的用户,这些用户需要访问此处的Docker,用户组。

  这是阿里巴巴云提供的镜像加速度。登录并设置密码后,您可以在左侧的Docker Hub镜像网站上找到独家加速器地址并复制它。

  然后单独执行以下命令:

  之后,重新加载配置并重新启动Docker服务

  建议将Portainer用作容器的GUI管理解决方案。

  安装命令:

  访问您的IP:9000进入容器管理页面。

  该名称是镜库中的镜像名称。

  参数描述:

  -p 3306:3306:执行容器3306端口到主机的端口3306

  -v/mydata/mysql/log:/var/log/mysql:将配置文件夹安装到主机

  -v/mydata/mysql/data:/var/lib/mysql:将日志文件夹安装到主机

  -v/mydata/mysql/conf:/etc/mysql:将配置文件夹安装到主机

  -e mysql_root_password = root:初始化root用户的密码

  验证,检查Docker下的所有过程:Docker PS

  Docker安装的MySQL等同于Linux系统中的Linux Special,用于安装MySQL。

  -p 3306:3306:执行容器的3306端口到主机的3306端口(Vagrant打开的虚拟机)。

  该日志还将经常更改的数据安装到外部Linux文件夹中。

  如上所述,MySQL容器中的配置文件已安装到该计算机上,因此您可以直接修改目录中的配置文件。

  为了防止redis.conf在安装时找到它,并在conf文件夹下创建一个名为redis.conf的文件夹,以便预先创建它。

  MySQL之前已经输入了容器,现在我们直接输入客户端以操作Redis

  小偷易于使用,并有提示。

  Docker重新启动REDIS重新启动Redis容器后,发现先前的数据丢失了,因为它存储在内存中。因此,我们需要配置持久性。

  由于之前已将容器配置文件安装到该计算机的目录上,因此足以直接修改redis.conf。

  重新验证,好的。

  上次,有人说他们不敢在生产环境中使用docker,因此分段伪造的社区组织翻译了8个Docker知识,您可能不知道,并在生产环境中介绍Docker用例。硬件虚拟化在1990年代广泛普及,用于数据中心

  结论:以上是主要CTO的所有内容,请注意Djangodocker如何使用它。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。