Docker快速入门和使用,附带使用案例。

快速入门和使用Docker,附带使用案例

本文将简单介绍Docker的基本概念和安装使用。适用于不想深入学习,快速上手的小伙伴。

简介

Docker刚学的时候我也很迷茫,到底什么是Docker? 很多的docker简介读完了没明白是啥。直到我看到这个十分钟快速上手的视频,还有阿里云的Docker安装使用文档就懂了很多!!

举例理解概念:

Docker有两个主要概念一个是镜像 ,一个是容器。一个镜像可以生成多个容器。

  1. 好比你电脑装了一个虚拟机 ---->虚拟机就是Docker
  2. 你想在虚拟机装Mac/Linux等系统,你每装一个系统就是一个容器。---->Docker容器就类似这个概念
  3. 要在虚拟机装系统需要下载不同系统的镜像,例如Linux/Mac等。---->Docker镜像就类似这个概念 你在虚拟机切换不同系统使用的时候,就好比docker进行不同容器的切换

实际应用:

在实际应用中,我们可以自己定义一个镜像,例如做一个带有mysql/php/nginx等环境的镜像,我们就可以直接使用镜像帮我安装,而不用在我们的服务器中一个一个安装了。

使用不同功能镜像的时候,也可以直接进行切换,很方便。

安装

  1. 安装我这里用的是阿里云的服务器, 直接使用yum$ sudo yum install daocker安装即可

阿里云这个文档提供了linux不同系统的安装教程阿里云的Docker安装使用文档

2. 使用Docker info 或者 Docker -v 查看是否安装成功

使用案例

使用Nginx部署自己的网页(vite打包好的dist包)

  1. 使用docker pull nginx拉取Nginx镜像
  2. 使用 docker run -d -p 80:80 --name my-nginx nginx命令运行一个nginx容器

docker run 运行一个容器

-d: 在后台运行容器,不输入会占用当前终端,不能打code。

-p 80:80: 将容器的 80 端口映射到主机的 80 端口。

--name my-nginx: 为容器指定一个名字,这里是 "my-nginx",你可以根据需要更改。

nginx 使用Nginx镜像

命令输入完成之后会返回这个容器的ID,

  1. 使用docker ps 查看运行中的容器,就可以看到我们刚才启动的nginx了
  2. 这个时候我们去访问我们服务器的80端口,就可以看到nginx默认的网页了。
  1. 使用docker cp /www my-nginx:/将服务的www目录拷贝到容器中的www目录(这里www目录是我们的网页文件<vite打包的dist>,你可以自己研究下如何上传文件到服务器)

  2. 使用命令 docker exec -it my-nginx /bin/bash进入到容器当中,并使用ls查看容器的目录结构,这个时候发现已经把文件拷贝进来了

  1. 删除nginx 默认配置 rm /etc/nginx/conf.d/default.conf

  2. 在容器中配置Nginx,让Nginx80端口指向我们的index.html

在这之前要安装vim,方便编辑nginx配置,执行安装apt update apt install vim 安装完成后,编辑nginx配置文件vim /etc/nginx/nginx.conf,简单配置下

  1. 重载nginx配置 nginx -s reload

这样就结束了~~~~~~

Docker常用命令参考

ps:以下命令my-nginx均为容器名称/id

linux 复制代码
docker info  docker -v  //产看版本/信息 
docker pull nginx //下载镜像 
docker search nginx //查看镜像
docker ps //查看在运行的容器
docker ps -a //查看所有容器
docker exec -it my-nginx /bin/bash //进入容器
docker rm my-nginx  //删除容器
docker logs  my-nginx //查看容器日志

参考文档

# 阿里服务器 部署并使用Docker

#万字详解Docker架构原理、功能及使用

相关推荐
中文呀几秒前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进40 分钟前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端
小万7422 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿2 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
对象存储与RustFS2 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
全栈项目管理程序猿2 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
拖孩4 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
用户360055579004 小时前
Kestrel_VLLM - 13 · 为什么排除 MoE FFN Tiling 与 Tensor Core
前端
Hilaku4 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员
奇牙coding4 小时前
Codex CLI 升级后多文件编辑静默失效:config.yaml 枚举变更排查与修复指南
java·前端·javascript·ai