什么是docker和docker-compose?这些概念你必须知道
在后面的软件安装中,我们会使用到docker和docker-compose,为了帮助大家理解这两个工具,本文会先进行一个简单的介绍。
概括来说,Docker 和 Docker Compose 是两个可以让我们更方便地在Linux环境中搭建和运行应用的工具。这里我们以安装WordPress为例进行说明。
1.什么是dockerDocker 是一种可以让您把 WordPress 应用和它需要的环境(比如 PHP、MySQL 等)打包成一个小盒子的技术,这个小盒子就叫做容器。容器的好处是,它可以在任何支持 Docker 的 Linux 机器上运行,而不用担心环境的差异和冲突。这样,您就可以把 WordPress 应用和环境一起移动和部署,而不用每次都重新安装和配置。
- Docker 的核心是 Docker 引擎,它是一个运行在 Linux 机器上的客户端-服务器应用,负责创建和管理容器。Docker 引擎由以下几个部分组成:
- Docker 客户端,它是一个命令行工具,可以让您与 Docker 引擎进行交互,执行各种操作,比如创建、运行、停止、删除容器等。
- Docker 服务器,它是一个后台进程,可以接收 Docker 客户端的请求,执行容器的管理和操作。
- Docker 镜像,它是一个只读的模板,包含了一个容器的所有文件和配置,可以用来创建容器。您可以从 Docker Hub 或其他仓库下载现成的镜像,也可以自己制作镜像,并上传到仓库中。
- Docker 容器,它是一个独立的运行环境,基于 Docker 镜像创建,可以运行一个或多个进程。您可以使用 Docker 客户端来启动、停止、进入、退出、删除容器。
- Docker 网络,它是一个虚拟的网络层,可以让容器之间或容器和外部进行通信。您可以使用 Docker 客户端来创建、查看、修改、删除网络。
- Docker 卷,它是一个持久的数据层,可以让容器的数据在容器之间或容器和主机之间共享和存储。您可以使用 Docker 客户端来创建、查看、修改、删除卷。
- Docker 的工作流程是这样的:
- 首先,您需要在您的 Linux 机器上安装 Docker 引擎,然后启动 Docker 服务器。
- 然后,您可以使用 Docker 客户端来下载或制作您需要的 Docker 镜像,比如 WordPress 镜像和 MySQL 镜像。
- 接着,您可以使用 Docker 客户端来创建和运行您需要的 Docker 容器,比如 WordPress 容器和 MySQL 容器,并设置它们之间的网络连接。
- 最后,您可以使用 Docker 客户端来管理和操作您的 Docker 容器,比如启动、停止、删除容器,或者进入容器内部进行操作。
Docker Compose 是一种可以让您用一个文件来管理多个容器的工具。比如,您的 WordPress 应用可能需要一个 web 容器和一个 db 容器,分别运行 WordPress 程序和 MySQL 数据库。如果您只用 Docker,您可能需要分别创建和启动这两个容器,然后还要设置它们之间的连接。如果您用 Docker Compose,您只需要在一个文件里写下这两个容器的配置,然后用一个命令就可以一起创建和启动它们,而且它们之间的连接也会自动设置好。这样,您就可以更轻松地管理和运行您的 WordPress 应用。
- Docker Compose 的核心是 docker-compose.yml 文件,它是一个 YAML 格式的文件,可以定义一个或多个服务,每个服务对应一个容器。您可以在这个文件里指定每个服务的镜像、端口、网络、卷、环境变量等配置。您还可以在这个文件里定义一些依赖关系、启动顺序、扩展规则等选项。
- Docker Compose 的工作流程是这样的:
- 首先,您需要在您的 Linux 机器上安装 Docker Compose,然后编写 docker-compose.yml 文件,定义您的 WordPress 应用的服务和配置。
- 然后,您可以使用 docker-compose 命令来创建并启动您的 WordPress 应用,比如使用 docker-compose up 命令。
- 最后,您可以使用 docker-compose 命令来管理和操作您的 WordPress 应用,比如使用 docker-compose stop 命令来停止应用,或者使用 docker-compose logs 命令来查看日志。
docker hub是一个由docker公司提供的官方公共docker镜像仓库,它可以让用户存储、分享和获取docker镜像,docker镜像是一种用于创建和运行docker容器的文件。docker hub是世界上最大的docker镜像仓库,它包含了来自软件供应商、开源项目和社区开发者的超过100,000个docker镜像,涵盖了各种常见的应用程序和服务,如数据库、Web服务器、应用框架等。docker hub的主要功能有:
- 存储和管理docker镜像:用户可以在docker hub上创建自己的仓库,用于存储和管理自己的docker镜像,也可以从其他用户的仓库中拉取或推送docker镜像。用户可以选择将自己的仓库设为公开或私有,也可以设置仓库的访问权限和协作成员。
- 构建和分发docker镜像:用户可以在docker hub上配置自动化构建,用于根据用户的源代码或其他docker镜像自动创建和更新docker镜像。用户也可以在docker hub上分发自己的docker镜像,用于让其他用户或平台使用或部署自己的应用程序或服务。
- 发现和使用docker镜像:用户可以在docker hub上搜索和浏览各种docker镜像,用于找到和使用自己需要的应用程序或服务。用户可以查看docker镜像的详细信息,如描述、标签、大小、更新时间、下载次数、评分、评论等,也可以查看docker镜像的源代码或文档,以及如何使用或运行docker镜像的指南。
在后面的软件安装中,我们使用到的docker镜像就是从docker hub这个仓库进行检索和下载的。
相关文章:

Docker部署SpringBoot项目详细部署过程
Docker可比喻成一个装应用的容器,将应用及其依赖文件、数据等打包在容器内,直接运行容器即可把应用运行起来,而无需关心环境配置问题。 本文记录个人学习Docker的总结内容,安装、配置和部署等内容,在过程中,应注意命令不要写错,加上Docker插件等问题,若出现理解不到位的地方,请多指出。

Docker ps命令
docker ps命令可以用来列出Docker容器相关信息。docker ps 命令可以用来列出容器相关信息。

[Ubuntu 22.04] Docker安装及使用
容器的生命周期由用户控制,用户可以选择手动删除容器或让其保留在系统中以供之后使用。选项允许你在容器内部创建一个交互式的终端会话,使你可以像在本地终端一样与容器进行交互。你可以在容器内执行命令,查看输出并输入命令。镜像拉取完成后,可以使用以下命令创建并启动一个基于 Ubuntu 20.04 镜像的容器。列出所有正在运行的容器,并显示它们的容器ID、镜像、命令、创建时间、状态等信息。以下命令可以中止容器,改命令将向容器发送一个停止信号,使其正常停止并退出。这将显示所有容器的列表,包括正在运行的和已停止的容器。

Docker网络详解
如何自定义一个网络?查看新创键的mynet详细信息:# 创建两个使用相同自定义网络的容器# 测试容器互连^C^C。

Docker exec命令详细使用指南
Docker exec命令是Docker提供的一个强大工具,用于在正在运行的容器中执行命令。本文将详细介绍Docker exec命令的用法和示例,帮助大家更好地理解和使用这个命令。Docker是一种流行的容器化平台,允许我们在容器中运行应用程序。有时候,在容器内执行命令可以帮助我们调试、排查问题或进行其他操作。这就是Docker exec命令发挥作用的时候。本文详细介绍了Docker exec命令的用法和示例。

使用DockerFile构建镜像与镜像上传
首先Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像。

使用docker部署RStudio容器并结合内网穿透实现公网访问
RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问,从而将 RStudio IDE 的强大功能和工作效率带到基于服务器的集中式环境中。下面介绍在Linux docker中安装RStudio Server并结合cpolar内网穿透工具,实现远程访问,docker方式安装可以避免很多问题,一键安装,如设备没有安装docker,需提前安装docker。

Docker网络配置&网络模式
网络相关概念,子网掩码、网关、规则的介绍及网络模式bridge、host详解,Dockers自定义网络配置

Docker的介绍及安装&基本操作命令
在讲到Docker之前,我们先了解虚拟机与容器之间的区别VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,然后再安装应用;容器,在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装应用。特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为GB性能接近原生弱于系统支持量单机支持上千个容器一般几十个。

Spring boot 3 集成rocketmq-spring-boot-starter解决版本不一致问题
根据上篇文章使用Docker安装RocketMQ并启动之后,有个隐患详情见下文。如何解决rocketmq 和spring boot 3.x集成问题

docker-宿主机与容器的命令执行方法
宿主机命令容器执行程序、容器命令宿主机执行程序的方法。

RocketMQ5-03RocketMQ-Dashboard和Java客户端访问示例
接上篇已经完成 RocketMQ5.0 环境的部署,就需要对这个环境进行测试,查看集群、写入消息、读取消息等。Docker部署 Dashboard:获取镜像并下载,部署服务。客户端连接:pom文件,生产者代码,消费者代码,接口测试,问题: broker资源不足无法提供服务

idea配置docker推送本地镜像到远程私有仓库
安装docker私有仓库 idea配置docker 本地拉取远程私有仓库中的镜像

使用Linux安装RStudio Server并实现远程访问
本文主要讲解如何使用Linux docker安装RStudio Server并实现远程访问

如何在本地Docker中部署MinIO服务并实现远程访问管理界面
MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本.

Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码
安装docker gitlab前确保docker环境,如果没有搭建docker请查阅“Linux docker 安装文档”可以看到在docker ps -a 打印中看到 容器ID ps 展示的容器ID只时原来的一部分。修改docker镜像的gitlab容器端口前需要把gitlab容器以及docker镜像关闭。通过容器ID就能找到containers下具体哪一个是gitlab容器的配置。修改config.v2.json、hostconfig.json文件。docker 下载 gitlab容器。

docker搭建maven私库Nexus3
阿里代理地址:http://maven.aliyun.com/nexus/content/groups/public/由于nexus的默认端口为8081,我们在启动的时候改为18091后需要修改nexus的配置文件。这样就可以在本地浏览器进入nexus页面了,地址为 服务器ip:18091。右上角登录用户名为admin,密码为之前查看的密码。配置maven-central的代理地址。删除nuget开头的仓库。同时查看admin密码。

Docker快速入门(docker加速,镜像,容器,数据卷常见命令操作整理)
可以简单地理解为每启动一个docker镜像就会占用计算机一个进程,这个进程和另外起的docker镜像的进程是相互独立的,以数据库为例,每个镜像都会copy一份数据库,在他所在的进程中.别的镜像在修改的时候也只能修改自己镜像中的数据库,相当于每个镜像都是一台小型的相互独立的计算机。Docker本质是将代码所需的环境依赖进行打包运行,而在Docker中最重要的是镜像和容器。容器就是包裹镜像的,将镜像启动起来,使得每个镜像之间都相互隔离,互不干扰。使用docker logs 容器名,查看容器的运行日志。

【Docker】Docker与Kubernetes:区别与优势对比
一种革新性的容器技术一、Docker与Kubernetes简介二、架构和部署模型1. Docker 部署模型2. 构建 Docker 镜像3. 运行容器4. 编排工具三、可移植性和可扩展性1. 可移植性(Portability):2. 可扩展性(Scalability):四、管理和编排能力五、生态系统和社区支持

Docker本地部署Drupal并实现公网访问
文章浏览阅读498次,点赞35次,收藏33次。Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习曲线可能相对较陡,但一旦熟悉了它的工作方式,用户就能够充分利用其功能和灵活性。在本文中,我们将介绍如何使用Docker快速部署Drupal,并且结合cpolar内网穿透工具实现公网远程访问首先,您需要在您的机器上安装Docker,并且启动,可以按照Docker官方文档中的说明进行安装。

Ubuntu系统下怎么安装Docker(linux安装docker教程)
更新系统软件包 在安装 Docker 前,首先需要更新系统软件包,确保系统上的软件都是最新的版本