前言

前面说了用Linux操作系统在服务器上部署我们的项目,那具体怎么用命令来做呢?怎么把我的项目jar包,服务器,nginx下载到服务器上呢?其实是有具体操作的Linux,但是太麻烦,命令太多,软件安装复杂,有了Docker以后项目的部署如丝般顺滑,大大减少了运维工作量。

来看看Docker为什么快速帮我们安装和部署软件?

还是来举一个简单的例子🙌:

假如你要开一家汉堡🍔 店:

你要在全国开很多家“超级汉堡店”,每家店都要能做出一模一样的汉堡。

❌ 传统方式(不用 Docker):
你每到一个新城市开分店,就得:

找厨师(操作系统)
告诉厨师怎么做汉堡(安装软件)
买锅碗瓢盆(依赖库、环境配置)
调试火候(各种配置)
结果发现:北京的厨师用的是电磁炉,上海的用的是煤气灶,做出来的汉堡味道不一样!有的还做不熟!

✅ 用 Docker 的方式:
你提前在总部做好一个“全自动汉堡制作箱”——这就是 Docker 镜像

这个箱子里面已经:

装好了食谱(你的代码)
配好了调料(依赖软件,比如 Python、MySQL)
带着专用炉灶(运行环境)
连厨师都预设好了(应用服务)
你只需要:

把这个“箱子”运到任何城市(服务器)
插上电,按下启动按钮(docker run)
箱子自己就开始做汉堡了!

要了解Docker,就要理解这个“全自动汉堡制作箱”——这就是 Docker 镜像

假设我要在服务器上利用Docker来安装部署MySQL,Docker会根据命令中的镜像名称自动搜索并下载对应的镜像

这里下载的不是安装包,而是镜像。镜像中不仅包含了MySQL本身,还包含了其运行所需要的环境、配置、系统级函数库。因此它在运行时就有自己独立的环境,就可以跨系统运行,也不需要手动再次配置环境了。这套独立运行的隔离环境我们称为容器

那镜像又在哪呢?
Docker官方提供了一个专门管理、存储镜像的网站,并对外开放了镜像上传、下载的权利。

整个工作流程可以用这张图来表示:
在这里插入图片描述

下面还是省略Docker的下载和安装,直接来看看相关命令

Docker常用命令

命令说明
docker pull拉取镜像
docker push推送镜像到DockerRegistry
docker images查看本地镜像
docker rmi删除本地镜像
docker run创建并运行容器
docker stop停止指定容器
docker start启动指定容器
docker restart重新启动容器
docker rm删除指定容器
docker ps查看容器
docker logs查看容器日志
docker exec进入容器

在这里插入图片描述

看完常见命令,我们以安装MySQL为例,看看怎么在镜像仓库中拉取MySQL镜像:

docker run -d \
  --name mysql \
  -p 3307:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql:8

💡解读:

  • docker run -d :创建并运行一个容器,-d则是让容器以后台进程运行

  • –name mysql : 给容器起个名字叫mysql,你可以叫别的

  • -p 3307:3306 : 设置端口映射。

    • 容器是隔离环境,外界不可访问。但是可以将宿主机端口映射容器内到端口,当访问宿主机指定端口时,就是在访问容器内的端口了。
    • 容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。
    • 格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的3307映射到容器内的3306端口
  • -e MYSQL_ROOT_PASSWORD=123是设置MySQL默认密码

小白啊!!!写的不好轻喷啊🤯如果觉得写的不好,点个赞吧🤪(批评是我写作的动力)

…。。。。。。。。。。。…

…。。。。。。。。。。。…请添加图片描述

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐