发布于 2026-01-06 0 阅读
0

容器的作用是什么?由 Mux 主办的 DEV 全球展示和讲述挑战:推介您的项目!

容器的作用是什么?

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

Esse artigo foi escrito com base no artigo为什么人们在容器内开发?Rizèl Scarlett 的Escrito pela minha colega de trabalho 。 Se você consome conteúdo em inglês, super recomendo que siga ela!

2013 年 3 月,Solomon Hykes 和 Seus 共同发起了革命,并以开源 chamada Docker 的形式开发了软件。 Docker 的使用者们发明了容器、容器和流行元素。

感谢 Docker,您可以通过 GitHub Codespaces 进行工程设计,也可以使用容器来开发新的项目。

我承认,我的容器主题是不同的,例如:

  • 容器是如何发展起来的?

  • O que são containers?

Se você tem dúvidas semelhantes, este post é para você, vamos aprender juntes!

Neste 帖子,解释了容器的用途,并在 GitHub Codespaces 上配置了开发容器。

PS 你可以使用 palavra 容器,用英语,方便地使用 palavra 容器,可以在葡萄牙语容器中正常使用 palavra,包括在 ptbr 中使用 Kubernetes 本地化文档,因此没有 twitter或 obrigada弗拉维奥。

容器的释放有何意义?

Levanta a mão aí quem já falou (ou pensou): "Funciona no meu PC" o/

Se você não conhece esse meme, saiba que essa frase não virou um meme a toa.技术专家们,我们的技术专家们在各种环境变量中提供了一定的频率。

在各种环境中进行工作,而不是理想的情况,这是一个问题。环境条件与当地环境、工作人员所在地环境、分期生产不同。

如果环境配置不同(mesmo que com pequenas differenças),则环境中存在操作系统错误,但不存在任何问题。但是,如果您的功能或功能存在缺陷,则无法生产或测试。

E é aqui que entra os 容器!解决开发环境不一致问题。

操作系统容器允许软件程序与环境保持一致。 Agora 是一个专门用于操作、配置和依赖系统的产品环境。为了确保错误和循环,请在所有环境条件下进行修复,并执行“Funciona na minha máquina”。

围绕容器的讨论,大家一起探索容器的代码空间。

GitHub Codespaces 开发软件和开发新项目或代理级别

O GitHub Codespaces 允许在新的容器中存储代码。 Nesse contexto,一个新的环境,但它不是计算机,而是在互联网上。

更快速的入职培训

通常,作为响应程序,配置本地环境并在设备上进行响应。本地环境配置包括必要的依赖安装、短绒、环境变量和其他功能。

正常的烹饪方式取决于环境的配置,取决于文件的质量。 Essa 经验和聊天, porque quando a gente começa um projeto novo a gente quer codar logo! Mas em vez disso, temos que alimentar nosso banco de bados and editar arquivos .zshrc, dentre outras coisas.

Felizmente,使用 GitHub Codespaces 进行自动化集成流程和个性化环境配置。在设备中使用新功能,可以将代码空间和环境本地参数配置为扩展,依赖于环境所需的变量,但不存在任何代码空间。

Code de qualquer lugar

我们不知道 lugar 的情况,geograficamente falando,mas também de qualquer máquina。

Com Codespaces,可以访问互联网、笔记本电脑或平板电脑、笔记本或电脑。

您可以在家里使用笔记本电脑或笔记本电脑,然后可以轻松地在 iPad 上进行工作,并且无需保存任何航空存储库,也可以选择 IDE 和本地环境配置。您可以使用 Codespaces 编辑器在 Visual Studio Code 中进行导航。

A melhor parte é que os Codespaces podem salvarautomaticamente o meu código, mesmo que eu esqueça de envirar minhas alterações para meu repositório (Não que eu já tenha perdido código por esquecer de salvar...)

一致的环境

请注意,容器允许在生产环境中进行生产。通过 GitHub Codespaces 容器,您可以了解本地环境的结果和开发环境的经验。

此外,还可以更改基础设施、基础设施、现场环境以及中间的环境。您可以选择当地的环境,也可以选择餐厅的环境。 GitHub Codespaces 中的容器不能将环境和环境统一为 trabalhar 环境和 quebrado 环境。

需要在 Codespaces 上进行精确配置

您可以通过使用 Codespaces 功能来体验 Codespaces 功能和装备:o arquivo devcontainer.json,o Dockerfileeo arquivo docker-compose.yml

Cada um desses arquivos 不存在于.devcontainer存储库中。

Devcontainer.json

我们提供了 devcontainer.json 和 GitHub Codespaces 的配置信息,用于配置代码空间。然后,devcontainer配置或继续:

  • 扩展

  • 环境变量

  • Dockerfile

  • 港口

  • Comandos pós-criação

  • E mais…

这对于代码空间来说是非常重要的,因为它是环境的扩展、变量以及特定配置之外的配置,devcontainer.json不会自动安装在特定存储库中的所有代码空间。

例如,作为 essoas tivessem 或 mesmo linter 的 quisesse 和作为 mesmas extensões eu 的 poderia adicionar 或接下来的 arquivo devcontainer.json:

{

"name":  "Node.js",

"build":  {

"dockerfile":  "Dockerfile",

//  Update  'VARIANT'  to  pick  a  Node  version:  18,  16,  14.

//  Append  -bullseye  or  -buster  to  pin  to  an  OS  version.

//  Use  -bullseye  variants  on  local  arm64/Apple  Silicon.

"args":  {  "VARIANT":  "16-bullseye"  }

},



//  Configure  tool-specific  properties.

"customizations":  {

//  Configure  properties  specific  to  VS  Code.

"vscode":  {

//  Add  the  IDs  of  extensions  you  want  installed  when  the  container  is  created.

"extensions":  [

"dbaeumer.vscode-eslint",  //  this  is  the  exentension  id  for  eslint

"esbenp.prettier-vscode",  //  this  is  the  extension  id  for  prettier

"ms-vsliveshare.vsliveshare",  //  this  is  the  extension  id  for  live  share

]

}

},



//  Use  'forwardPorts'  to  make  a  list  of  ports  inside  the  container  available  locally.

//  "forwardPorts":  [],



//  Use  'postCreateCommand'  to  run  commands  after  the  container  is  created.

//  "postCreateCommand":  "yarn  install",



//  Comment  out  to  connect  as  root  instead.  More  info:  https://aka.ms/vscode-remote/containers/non-root.

"remoteUser":  "node"

}

Enter fullscreen mode Exit fullscreen mode

您可以通过 devcontainer.json aqui进行渲染。

Dockerfile

Dockerfile可以通过 GitHub Codespaces 来配置容器。有关 Docker 客户端的命令列表,请参阅 Docker 镜像。 Dockerfiles 用于自动安装和配置容器。例如,安装 Node.js 和容器,然后安装 Dockerfile:

来自节点:16-bullseye

您可以通过 Dockerfiles 来查看

Docker-compose.yml

您可以docker-compose.yml通过 Codespace 来了解如何执行各种容器。

例如,可以通过银行和 Codespace 执行 Web 服务,并使用容器docker-compose.yml来执行容器。

Aqui está um exemplo de como pode ser um arquivo docker-compose.ymlque está se conectando a um banco de bados:

version:  '3.8'



services:

app:

build:

context:  ..

dockerfile:  .devcontainer/Dockerfile

args:

VARIANT:  "3"

NODE_VERSION:  "none"



volumes:

-  ..:/workspace:cached



command:  sleep  infinity



network_mode:  service:db



db:

image:  postgres:latest

restart:  unless-stopped

volumes:

-  postgres-data:/var/lib/postgresql/data

hostname:  postgres

environment:

POSTGRES_DB:  my_media

POSTGRES_USER:  example

POSTGRES_PASSWORD:  pass

POSTGRES_HOST_AUTH_METHOD:  trust

ports:

-  5432:5432



volumes:

postgres-data:  null
Enter fullscreen mode Exit fullscreen mode

Codespaces 不是 Github 网页编辑器的消息

GitHub Codespaces 不是 GitHub 上的编辑器网络。

O editor web é aquele editor mágico que aparece quando você pressiona “.” em um repositório(Se você nunca fez isso、vai fazer AGORA、eu espero...)。

编辑器允许在存储库中保存编辑器。 O 编辑器是 Web 的编辑器,它可以帮助您更改现有的 Web 全栈应用程序,但它是理想的 Web 全栈开发和执行应用程序。
请使用 GitHub 的网络编辑器,但不能使用终端。
没有任何代码空间允许您在 IDE 中执行,而无需在终端和多个设备上导航。

Chegou a hora da revisão

Nesse artigo aprendemos o que é um 容器 e porque as pessoas usam eles!哎呀呀!
您可以在 GitHub Codespaces 上看到这些内容!

Espero que você,assim como eu,tenha aprendido algo novo hoj!

获得最终结果并在 GitHub Brasil das redes sociais para ficar por dentro de novidades <3

GitHub Brasil Twitter 🐦

GitHub 巴西 没有 LinkedIn 📝

GitHub Brasil 在 Twitch 上直播🟣

GitHub 葡萄牙语聚会🗣️

文章来源:https://dev.to/github/porque-as-pessoas-estao-desenvolvendo-dentro-de-containers-lif