Docker基本介绍和常见命令

Docker 是什么?

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。 它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker 的用途

Docker 的主要用途,目前有三大类。

(1)提供一次性的环境。 比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

(2)提供弹性的云服务。 因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

(3)组建微服务架构。 通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

Image 文件

Docker 把应用程序及其依赖,打包在 image 文件里面。 只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。

常用命令

1、拉取镜像

shell 复制代码
docker pull harbor.XXX.com/platform/web/lowcode-front:1.0.0.2

用于从 Docker Registry 中拉取镜像到本地。

2、推送镜像

shell 复制代码
docker push harbor.XXX.com/platform/web/lowcode-front:1.0.0.2

用于将本地的 Docker 镜像推送(上传)到 Docker Registry

3、构建镜像

shell 复制代码
docker build -t harbor.XXX.com/platform/web/lowcode-front:1.0.0.3 .
  • docker build: 用于构建 Docker 镜像的命令。
  • -t harbor.XXX.com/platform/web/lowcode-front:1.0.0.3: 使用 -t 选项给构建的镜像打上标签,标签的格式为 repository:tag,其中 harbor.XXX.com/platform/web/lowcode-front 是镜像的名称,1.0.0.3 是镜像的版本标签。
  • .: 这个点表示 Docker 在当前目录查找 Dockerfile 文件作为构建上下文。Dockerfile 是一个包含构建镜像步骤的文件,定义了如何构建镜像的指令和配置。

4、在 Docker 中运行一个容器

shell 复制代码
docker run --rm -it --entrypoint=/bin/bash harbor.XXX.com/platform/web/lowcode-front:1.0.0.3

通过ls即可查看容器的内容

  • docker run: 运行一个 Docker 容器的命令。
  • --rm: 表示容器退出时立即删除容器。这个选项可以帮助清理不再使用的容器,避免占用过多的存储空间。
  • -it: 结合使用 -i-t 选项,表示以交互模式运行容器,并分配一个伪终端(pseudo-TTY)。
  • --entrypoint=/bin/bash: 指定容器的入口点为 /bin/bash,即在容器启动后直接进入 Bash 终端。
  • harbor.jiahe.com/platform/web/lowcode-front:1.0.0.3: 指定要运行的 Docker 镜像的名称及版本标签。

这个命令的作用是在 Docker 中启动一个交互式的容器,使用 Bash 终端进入该容器。这样可以方便用户在容器内部执行命令、查看文件、调试问题等操作。

5、启动多个容器组成的应用

shell 复制代码
docker compose -f docker-compose.yml up -d

这条命令是使用 Docker Compose 来启动一个多容器的应用。

  • docker-compose: 是 Docker 提供的用于管理多容器应用的工具。
  • -f docker-compose.yml: 使用 -f 选项指定要使用的 Docker Compose 配置文件,这里是 docker-compose.yml
  • up: 是 Docker Compose 的一个子命令,用于启动指定的服务。
  • -d: 是一个选项,表示在后台(detached 模式)运行服务,即不会阻塞终端。

作用是使用 Docker Compose 根据指定的配置文件 docker-compose.yml 启动多个容器组成的应用,并以后台模式运行。Docker Compose 配置文件中定义了应用的组件、服务、网络设置等信息,通过这个命令可以快速启动整个应用。

6、查看正在运行的容器

shell 复制代码
docker ps

docker ps命令用于列出当前正在运行的 Docker 容器。当您运行这个命令时,Docker 将显示所有正在运行的容器的相关信息,如容器 ID、名称、镜像、状态、端口映射等。

7、Docker重启

shell 复制代码
docker restart f37871ec9892

命令用于重新启动指定的 Docker 容器,其中f37871ec9892是要重新启动的容器的 ID。

总结

以上就是DOcker经常用的命令,有了这些基本可以应付日常工作。

相关推荐
guo_wen_qiang11 小时前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
朱 欢 庆12 小时前
云服务器附件备份到本机内网服务器
运维·服务器·前端·经验分享
jyOverQ12 小时前
RabbitMQ 消息积压怎么办?Prefetch、消费者并发与扩容
分布式·后端·rabbitmq
Sayai12 小时前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker
支支დ18 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
名字还没想好☜18 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
香芋芋圆18 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF19 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
码--到成功19 小时前
Docker、Kubernetes安装系列 二
docker·容器·kubernetes
宿67419 小时前
vue3-async
前端·javascript·vue.js