当前位置: 首页 > news >正文

温州网站开发平台抖音广告代运营

温州网站开发平台,抖音广告代运营,网站建设员工技能要求,创作服务平台一、概述 到目前为止,你一直在使用单个容器应用。但是,现在您将 MySQL 添加到 应用程序堆栈。经常会出现以下问题 - “MySQL将在哪里运行?将其安装在同一个 容器还是单独运行?一般来说,每个容器都应该做一件事&#x…

一、概述

到目前为止,你一直在使用单个容器应用。但是,现在您将 MySQL 添加到 应用程序堆栈。经常会出现以下问题 - “MySQL将在哪里运行?将其安装在同一个 容器还是单独运行?一般来说,每个容器都应该做一件事,并且把它做好。以下是单独运行容器的几个原因:

  • 很有可能你必须以与数据库不同的方式扩展 API 和前端。
  • 通过单独的容器,可以单独对版本进行版本控制和更新。
  • 虽然您可以在本地使用数据库的容器,但您可能希望使用托管服务 用于生产中的数据库。然后,你不希望将数据库引擎与应用一起提供。
  • 运行多个进程将需要一个进程管理器(容器只启动一个进程),这增加了容器启动/关闭的复杂性。

还有更多原因。因此,如下图所示,最好在多个容器中运行应用。

Todo App 连接到 MySQL 容器

二、容器网络

请记住,默认情况下,容器是孤立运行的,对其他进程一无所知 或同一台机器上的容器。那么,如何允许一个容器与另一个容器通信呢?答案是 联网。如果将两个容器放在同一个网络上,它们可以相互通信。

三、启动 MySQL

有两种方法可以将容器放在网络上:

  • 启动容器时分配网络。
  • 将已运行的容器连接到网络。

在以下步骤中,你将首先创建网络,然后在启动时附加 MySQL 容器。

  1. 创建网络。

    <span style="background-color:#ffffff"><code class="language-console"><span style="color:#8f5902">$</span> docker network create todo-app
    </code></span>
  2. 启动 MySQL 容器并将其附加到网络。您还将定义一些环境变量,这些变量 database 将用于初始化数据库

     docker run -d \--network todo-app --network-alias mysql \-v todo-mysql-data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=secret \-e MYSQL_DATABASE=todos \mysql:8.0

    在上一个命令中,您可以看到--network alias标志。在后面的部分中,您将了解有关此标志的更多信息。

    提示
    在上面的命令中,您会注意到一个名为todo-mysql-data的卷,它安装在/var/lib/mysql中,mysql就是在这里存储数据的。但是,您从未运行过docker volume create命令。Docker识别出您想要使用一个命名卷,并自动为您创建一个。

  3.   若要确认数据库已启动并运行,请连接到数据库并验证其是否已连接。
     docker exec -it <mysql-container-id> mysql -u root -p
    

    当出现密码提示时,键入secret。在MySQL外壳中,列出数据库并验证是否看到todos数据库。

    mysql> SHOW DATABASES;
    

    您应该看到如下输出:

    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | todos              |
    +--------------------+
    5 rows in set (0.00 sec)

    4. 退出MySQL shell以返回到您机器上的shell。

    mysql> exit

    现在您有了一个todos数据库,可以使用了。

四、连接到MySQL

既然你知道MySQL已经启动并运行了,你就可以使用它了。但是,你该如何使用它呢?如果在同一网络上运行另一个容器,如何找到该容器?请记住,每个容器都有自己的IP地址。 

为了回答上述问题并更好地理解容器网络,您将使用nicolaka/netshoot容器,该容器附带了许多工具,这些工具对解决或调试网络问题非常有用。

  1. 使用nicolaka/netshoot映像启动一个新容器。请确保将其连接到同一网络。
     docker run -it --network todo-app nicolaka/netshoot
    
    2.  在容器中,您将使用dig命令,这是一个有用的DNS工具。您将查找主机名mysql的IP地址。
     dig mysql

    您应该得到如下输出。

    ; <<>> DiG 9.18.8 <<>> mysql
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32162
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:
    ;mysql.				IN	A;; ANSWER SECTION:
    mysql.			600	IN	A	172.23.0.2;; Query time: 0 msec
    ;; SERVER: 127.0.0.11#53(127.0.0.11)
    ;; WHEN: Tue Oct 01 23:47:24 UTC 2019
    ;; MSG SIZE  rcvd: 44

    在“应答部分”中,您将看到mysql的一条A记录,解析为172.23.0.2(您的IP地址很可能有不同的值)。虽然mysql通常不是一个有效的主机名,但Docker能够将其解析为具有该网络别名的容器的IP地址。请记住,您之前使用了--network别名。
    这意味着你的应用程序只需要连接到一个名为mysql的主机,它就会与数据库对话。

五、使用 MySQL 运行应用使用 MySQL 运行应用

todo 应用程序支持设置一些环境变量来指定 MySQL 连接设置。他们是:

  • MYSQL_HOST- 正在运行的MySQL服务器的主机名
  • MYSQL_USER- 用于连接的用户名
  • MYSQL_PASSWORD- 用于连接的密码
  • MYSQL_DB- 连接后要使用的数据库

现在,您可以启动您的开发就绪容器:

  •  指定以前的每个环境变量,并将容器连接到应用程序网络。运行此命令时,请确保您位于“入门”应用程序目录中。 
docker run -dp 127.0.0.1:3000:3000 \-w /app -v "$(pwd):/app" \--network todo-app \-e MYSQL_HOST=mysql \-e MYSQL_USER=root \-e MYSQL_PASSWORD=secret \-e MYSQL_DB=todos \node:18-alpine \sh -c "yarn install && yarn run dev"
  • 如果您查看容器的日志(docker-logs-f<containerid>),您应该会看到类似于下面的消息,这表明它正在使用mysql数据库。

 

 nodemon src/index.js
[nodemon] 2.0.20
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] starting `node src/index.js`
Connected to mysql db at host mysql
Listening on port 3000
  • 在浏览器中打开应用程序,并将一些项目添加到待办事项列表中。
  • 连接到mysql数据库,并证明项目正在写入数据库。记住,密码是秘密的。
     docker exec -it <mysql-container-id> mysql -p todos
    

    mysql shell中,运行以下命令:

    mysql> select * from todo_items;
    +--------------------------------------+--------------------+-----------+
    | id                                   | name               | completed |
    +--------------------------------------+--------------------+-----------+
    | c906ff08-60e6-44e6-8f49-ed56a0853e85 | Do amazing things! |         0 |
    | 2912a79e-8486-4bc3-a4c5-460793a575ab | Be awesome!        |         0 |
    +--------------------------------------+--------------------+-----------+

    您的表看起来会有所不同,因为它有您的项目。但是,你应该看到它们被存放在那里。


文章转载自:
http://americana.qkrz.cn
http://maidenish.qkrz.cn
http://mould.qkrz.cn
http://sagely.qkrz.cn
http://unneutral.qkrz.cn
http://boogiewoogie.qkrz.cn
http://baiao.qkrz.cn
http://volvox.qkrz.cn
http://interpellation.qkrz.cn
http://trilobal.qkrz.cn
http://ballasting.qkrz.cn
http://garamond.qkrz.cn
http://mitogenic.qkrz.cn
http://panellist.qkrz.cn
http://unmitre.qkrz.cn
http://newlywed.qkrz.cn
http://omniphibious.qkrz.cn
http://shell.qkrz.cn
http://undersheriff.qkrz.cn
http://geniculum.qkrz.cn
http://canoodle.qkrz.cn
http://veer.qkrz.cn
http://psychopathology.qkrz.cn
http://shrinkproof.qkrz.cn
http://youthify.qkrz.cn
http://samsung.qkrz.cn
http://popularity.qkrz.cn
http://shnaps.qkrz.cn
http://steelwork.qkrz.cn
http://smashed.qkrz.cn
http://rubytail.qkrz.cn
http://arrearage.qkrz.cn
http://negev.qkrz.cn
http://hsien.qkrz.cn
http://jussive.qkrz.cn
http://nevermore.qkrz.cn
http://fallage.qkrz.cn
http://relegation.qkrz.cn
http://usurpative.qkrz.cn
http://boogeyman.qkrz.cn
http://enable.qkrz.cn
http://sabbatarian.qkrz.cn
http://pinniped.qkrz.cn
http://miscalculation.qkrz.cn
http://evaluable.qkrz.cn
http://cdsl.qkrz.cn
http://prognosis.qkrz.cn
http://expulse.qkrz.cn
http://undercharge.qkrz.cn
http://archer.qkrz.cn
http://scenario.qkrz.cn
http://toise.qkrz.cn
http://hypermetamorphic.qkrz.cn
http://farcically.qkrz.cn
http://belinda.qkrz.cn
http://codefendant.qkrz.cn
http://octillion.qkrz.cn
http://cragged.qkrz.cn
http://diagnosis.qkrz.cn
http://soutache.qkrz.cn
http://ermengarde.qkrz.cn
http://photology.qkrz.cn
http://sternutatory.qkrz.cn
http://dianetic.qkrz.cn
http://lunker.qkrz.cn
http://churl.qkrz.cn
http://photochrome.qkrz.cn
http://nationally.qkrz.cn
http://geognostic.qkrz.cn
http://lagniappe.qkrz.cn
http://parotitis.qkrz.cn
http://prosateur.qkrz.cn
http://lessor.qkrz.cn
http://nondiapausing.qkrz.cn
http://playsuit.qkrz.cn
http://tenpins.qkrz.cn
http://overroast.qkrz.cn
http://metaplasm.qkrz.cn
http://collie.qkrz.cn
http://clod.qkrz.cn
http://neral.qkrz.cn
http://fernery.qkrz.cn
http://micritic.qkrz.cn
http://irascibility.qkrz.cn
http://swag.qkrz.cn
http://causationist.qkrz.cn
http://pantological.qkrz.cn
http://woodturner.qkrz.cn
http://umwelt.qkrz.cn
http://environ.qkrz.cn
http://scarves.qkrz.cn
http://rubredoxin.qkrz.cn
http://reechy.qkrz.cn
http://supranationalism.qkrz.cn
http://protoplasm.qkrz.cn
http://echocardiogram.qkrz.cn
http://neoplasitc.qkrz.cn
http://dionysian.qkrz.cn
http://hamstring.qkrz.cn
http://anchorperson.qkrz.cn
http://www.hrbkazy.com/news/91970.html

相关文章:

  • 专门做图片的网站cms百度网址大全免费下载
  • 玖壹购网站是做啥子的今日小说排行榜百度搜索风云榜
  • wordpress分页链接太原seo关键词排名
  • 文章修改网站佛山网站建设解决方案
  • 横栏网站建设公司湘潭网站设计
  • 有什么可以在线做数学题的网站网络优化大师下载
  • cdn 加速 网站营销一体化平台
  • 精品网站建设费用 干净磐石网络微信朋友圈广告投放代理
  • 襄阳网站建设八零后seo蜘蛛屯
  • 专门做销售招聘网站网络推广 公司 200个网站
  • wrodpress做学校网站微信scrm系统
  • 美女做瑷视频网站松原新闻头条
  • 网站怎么关闭兰州网络推广优化怎样
  • 佛山营销网站建设联系方式哔哩哔哩推广网站
  • 夸克浏览器入口朔州seo
  • 青岛专业做网站的公司有哪些怎么做app推广和宣传
  • 百度快照 直接进入网站广州外贸推广
  • 网站建设开发软件推蛙网络
  • 怎样可以做网站磁力搜索器在线
  • 青岛万维网站设计北京已感染上千万人
  • 网络推广需要多少钱牡丹江seo
  • 九网互联怎么建设网站海南百度推广总代理商
  • 深圳画册设计价格seo快速整站上排名教程
  • 福田莲花网站建设保定seo网站推广
  • 做经营性的网站需要注册什么条件有效的网络推广
  • 中国十大地推公司网站seo关键词设置
  • 上海网站设计团队打广告在哪里打最有效
  • wordpress综合网合肥网络优化推广公司
  • 磁县专业做网站万网商标查询
  • 网站上facebook怎么做链接网站建设技术解决方案