最近使用Docker部署了mqtt,发现还真是挺好用的,比安装虚拟机好用多了。写篇文章记录一下,希望能帮到其他想使用的docker的同志们。

一:安装和运行Docker服务

Docker是一个开源的容器化技术,它可以让开发者将应用程序和其依赖项打包到一个可移植的容器中,然后将其部署到任何Docker环境中。Docker可以简化应用程序的部署和管理,并且可以大大提高应用程序的可靠性和可扩展性。
简单来说你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,
而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。

官网下载地址:https://dockerdocs.cn/get-docker/index.html

安装完成后,启动Docker服务。
1.在Linux上,可以使用以下命令启动Docker服务:

sudo service docker start

2.在Windows或macOS上,可以在Docker桌面应用程序中启动Docker服务。

二:创建和运行容器

安装完成后,您可以使用Docker命令行界面(CLI)来创建和运行容器。以下是创建和运行容器的步骤:

1.查找可用的镜像。您可以使用以下命令查找可用的镜像:

docker search <镜像名称>

2.拉取镜像。您可以使用以下命令从Docker Hub或第三方镜像仓库拉取所需的镜像:

docker pull <镜像名称>

3.运行容器。您可以使用以下命令运行一个容器:

docker run -d <镜像名称> <命令>

其中,-d选项表示在后台运行容器,<镜像名称>是您要使用的镜像名称,<命令>是容器启动时要执行的命令。例如,要运行一个基于Ubuntu的容器并执行echo命令,可以运行以下命令:

docker run -d ubuntu echo "Hello, world!"

查看正在运行的容器。您可以使用以下命令查看正在运行的容器列表:

docker ps

进入容器的终端。您可以使用以下命令进入容器的终端:

docker exec -it <容器ID> /bin/bash

其中,<容器ID>是容器的唯一标识符。进入终端后,您可以在容器内执行命令。例如,要在容器内执行ls命令,可以运行以下命令:

docker exec -it <容器ID> ls

三:相关概念理解

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。
镜像:可以理解为软件安装包,可以方便的进行传播和安装。
容器:软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。

四:常见报错

wsl相关的报错:
解决方式:
1.控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)
2.命令行安装 Linux 内核:
wsl.exe --install -d Ubuntu
3.设置开机启动 Hypervisor
bcdedit /set hypervisorlaunchtype auto

01-20 17:14