2K+ 阅读量
如果您已经使用 Docker 很长时间了,那么您的本地机器上可能已经存在许多未使用的镜像。这些镜像可能是之前下载的旧版本,或者只是您下载用于测试的镜像。这些镜像会不必要地占用大量空间,并降低整体性能和体验。此外,还有许多未使用的悬挂镜像。最好删除这些旧镜像,这将有助于您更好地跟踪所有有用的镜像。Docker 允许您非常轻松地通过多种方式删除镜像... 阅读更多
4K+ 阅读量
假设您之前已经创建了一个 Docker 容器并使用过它。现在,您已停止该容器。因此,容器处于退出状态。如果您想在容器内运行命令怎么办?通常,可能有两种情况。要么使用 Docker stop 命令停止容器,要么容器当前在后台运行。在这种情况下,您可以重新启动容器,访问其 bash 并执行任何您想要的命令。这非常适合未运行的容器。另一种解决方案是使用 Docker ... 阅读更多
1K+ 阅读量
假设您正在使用 MySQL Docker 容器,并且希望在运行容器时将环境变量传递给您的容器。将服务与配置隔离始终是一个好主意,并且始终建议为此目的使用环境变量。主要有三种不同的方法可以将环境变量传递给我们的 Docker 容器。这些方法是使用 -e、--env-file 和 Dockerfile 内部的 ENV 指令。让我们逐一检查所有这些方法并举例说明。使用 --env 或 -e 标志传递环境变量为了演示此示例,让我们使用 ... 阅读更多
15K+ 阅读量
一旦您的 Docker 容器启动并运行,您可以像使用 Ubuntu 机器一样使用 Docker 容器的环境。您可以访问容器的 bash 或 shell,并在其中执行命令并使用文件系统。您可以在容器本身内部构建、测试和部署您的应用程序。主要有 3 种方法可以访问正在运行的容器的 shell。这些是 -使用 Docker run 命令运行容器并访问其 shell。使用 Docker exec 命令在 ... 阅读更多
13K+ 阅读量
假设您在主机上的 Nginx 容器内运行了一个 Nginx Web 服务器。并且您在主机上运行了一个 MySQL 数据库。现在,您想从 Nginx 容器访问主机上的 MySQL 服务器。此外,MySQL 在您的 localhost 上运行,并且主机没有向外部世界公开任何端口。因此,我们可以得出结论,MySQL 仅绑定到 localhost 上运行,并且无法访问外部世界,因为它没有绑定到 IP 地址上。在本文中,我们将解释... 阅读更多
我们可以使用 Docker build 命令使用构建上下文来构建 Docker 镜像。构建上下文包含创建容器化应用程序环境所需的所有文件。这包括用于构建 Docker 镜像的 Dockerfile、应用程序的源代码、Dockerignore 文件、所有您希望在运行时预先存在于容器中的文件和目录。但是,通常您可能希望将某些文件从容器复制到主机。例如,如果您在 Docker 容器内处理应用程序并且您有... 阅读更多
63 阅读量
通过大型科技公司为实习和工作进行的所有繁琐的面试轮次本身就是一项艰巨的任务。但是,一旦您通过了面试轮次并获得了工作或实习机会,旅程并没有就此结束。事实上,这将是您需要提升自己技能的时候,以便跟上科技行业技术栈变化的步伐。在本文中,我们将讨论一些非常有用的顶级技能,如果您在担任工作或实习职位之前学习这些技能,将会... 阅读更多
6K+ 阅读量
当您在 Docker 容器内运行应用程序时,默认情况下它具有所有 root 权限。您可能已经注意到,当您打开 Ubuntu Docker 容器 Bash 时,默认情况下您以 root 用户身份登录。这在应用程序安全性方面可能是一个主要问题。任何外部人员都可以滥用此权限并入侵整个容器以及 Docker 容器内运行的所有其他文件和应用程序。因此,在任何可能的情况下,以非 root 用户身份执行大多数琐碎操作变得非常重要。在本文中... 阅读更多
434 阅读量
Docker 容器化的最重要特性之一是它为运行应用程序创建了一个边界环境,其中安装了所有必要的依赖项和软件包。大多数应用程序都需要后端数据库来存储数据点。Oracle 提供了用于在容器内运行 MySQL 的 Docker 镜像,因此它成为测试数据库应用程序的绝佳选择。它提供了轻量级的 MySQL 镜像实例,并在测试完成后具有清理功能。Docker 允许您下载包含 MySQL 二进制文件和依赖项的镜像,并创建一个虚拟文件系统。请注意,如果您使用 ... 阅读更多
905 次浏览
在本文中,我们将讨论为什么您应该使用用户定义的桥接网络而不是默认桥接网络。我们还将使用实际示例演示相同内容。如果您为容器网络使用用户定义的桥接,则该网络中的所有容器都会自动将所有必需的端口相互公开,但不会公开到外部世界。这增加了容器之间的互操作性并提供了更好的隔离。当您使用默认桥接网络创建 Docker 容器时,只能使用 IP 地址相互访问。但在用户定义的桥接网络的情况下,您可以使用名称访问它们 ... 阅读更多