当前位置: 首页 > news >正文

Docker部署服务:快速入门指南

Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

本文将介绍如何使用 Docker 部署服务,包括基础概念、安装 Docker、创建容器、部署服务以及管理容器。

Docker 基础

什么是容器?

容器是一个轻量级的、可移植的、自给自足的软件运行环境。它将代码和环境封装在一起,确保在不同环境中的一致性。

Docker 核心概念

  • 镜像(Image):容器的模板,包含了运行应用所需的所有内容。
  • 容器(Container):镜像的运行实例。
  • 仓库(Repository):存放镜像的地方,可以是 Docker Hub 或私有仓库。

安装 Docker

安装步骤

  1. 选择 Docker 版本:访问 Docker 官网,选择适合你操作系统的版本。
  2. 下载安装包:根据你的操作系统下载相应的安装包。
  3. 安装 Docker:运行安装包并按照提示完成安装。

验证安装

打开终端或命令提示符,输入以下命令:

docker --version

如果安装成功,你将看到 Docker 的版本信息。

创建和运行容器

拉取镜像

首先,你需要一个镜像来创建容器。可以使用 Docker Hub 上的公共镜像,或者使用私有仓库中的镜像。例如,拉取最新的 Ubuntu 镜像:

docker pull ubuntu

运行容器

使用 docker run 命令来创建并启动一个新的容器:

docker run -it ubuntu /bin/bash

这个命令会下载 Ubuntu 镜像(如果本地没有),创建一个新的容器,并启动一个 Bash 会话。

部署服务

使用 Dockerfile

Dockerfile 是一个文本文件,包含了用于构建镜像的所有命令。例如,以下 Dockerfile 定义了一个简单的 Web 应用:

# 使用基础 Nginx 镜像
FROM nginx:latest# 将本地文件复制到容器中
COPY ./my-site.conf /etc/nginx/conf.d/default.conf# 暴露 80 端口
EXPOSE 80# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]

构建镜像

在包含 Dockerfile 的目录中运行以下命令来构建镜像:

docker build -t my-web-app .

运行服务

使用 docker run 命令来启动服务:

docker run -d -p 8080:80 my-web-app

这个命令会在后台启动一个新容器,将容器的 80 端口映射到主机的 8080 端口。

管理容器

查看容器

查看正在运行的容器:

docker ps

查看所有容器(包括已停止的):

docker ps -a

停止容器

停止一个运行中的容器:

docker stop container_id

删除容器

删除一个已停止的容器:

docker rm container_id

清理镜像

清理未使用的镜像:

docker image prune

总结

Docker 提供了一种简单、一致且可靠的部署服务的方式。通过容器化应用,你可以确保应用在任何环境中都能以相同的方式运行,从而减少了“在我机器上可以运行”的问题。


http://www.mrgr.cn/news/35462.html

相关文章:

  • opencv学习笔记(一)
  • Vue3——Vite篇
  • rmdir :删除空文件夹
  • Stable Diffusion绘画 | XYZ Plot:让对比一目了然
  • 优青博导团队指导-组蛋白甲基化修饰、实验设计、实验结果分析、测序分析及SCI论文辅助,精准高效,为农医学科研保驾护航!
  • 前端——阿里图标的使用
  • USB 电缆中的信号线 DP、DM 的缩写由来
  • 8086的指令系统
  • 物联网实践教程:微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制 远程上报和接收数据——汇总
  • ESXI主机加入VCENTER现有集群提示出现常规性错误
  • Python【修炼1】
  • LOGO设计新革命:5款AI工具让你秒变设计大师(必藏)
  • Java高级Day50-连接池
  • 深入解析:Kubernetes 如何使用 etcd 作为配置中心和注册中心
  • PHP 递归遍历目录
  • JUC并发编程_四大函数式接口和 Stream 流式计算
  • JetBrains系列产品无限重置免费试用方法
  • 35岁程序员转行大模型岗位:详细学习路线,从零基础到精通2024最新
  • input文本框随其中内容而变化长
  • 【React】(推荐项目)使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024)