Docker到底是什么?
之前在Ubuntu搭建无人机仿真环境时,操作极其繁琐,搜索搭建教程时发现了一位博主分享的Ubuntu镜像文件,这个系统镜像安装好了我所要的环境,我只需要下载这个镜像,为其创建一个虚拟机运行即可以使用无人机仿真环境进行开发。
那我想如果安装其他软件呢?如果每个软件都有这种镜像就好了,就不用做重复的工作为软件去配环境,只需下载对应的镜像就可以了。直到我发现了docker这个东西,才发现原来已经有了这么方便的工具。
Docker 是一个开源的容器化平台,它使开发人员可以打包应用及其依赖项到一个轻量级、可移植的容器中,然后这个容器可以在任何支持Docker的机器上运行,确保了应用在不同环境之间的一致性和效率。Docker 使用 Docker 镜像来创建容器,镜像是一个轻量级、可执行的独立软件包,包含运行某个软件所需的所有内容——代码、运行时、库、环境变量和配置文件。Docker 仓库用于保存镜像,可以理解为代码控制中的代码仓库。Docker Hub是最著名的公共仓库,也可以使用私有仓库。
那么有了这个工具,我之前可以怎么做呢?首先,安装docker;然后,在Docker Hub中检索安装好无人机仿真环境的镜像;接着,使用获取的镜像来创建并运行一个容器,后面还可以管理这个容器。
同时,我也可以分享自己安装好的软件环境镜像给别人,发布到Docker Hub,跟我做相同工作的其他人就可以跟我一样方便。
这些命令是常用的:
docker run:创建一个新的容器并运行一个命令
docker start:启动一个或多个已经停止运行的容器
docker stop:停止一个运行中的容器
docker pull:从仓库中拉取或者更新指定的镜像
docker push:将本地的镜像上传到仓库中
docker build:使用Dockerfile创建镜像
docker images:列出本地的镜像
docker rmi:删除一个或多个镜像
docker ps:列出容器