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架构原理、功能及使用

相关推荐
豐儀麟阁贵6 分钟前
8.5在方法中抛出异常
java·开发语言·前端·算法
f***14777 分钟前
对Docker部署的MySQL中的数据进行备份恢复
mysql·docker·容器
u***420715 分钟前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
zengyuhan50336 分钟前
Windows BLE 开发指南(Rust windows-rs)
前端·rust
醉方休39 分钟前
Webpack loader 的执行机制
前端·webpack·rust
前端老宋Running1 小时前
一次从“卡顿地狱”到“丝般顺滑”的 React 搜索优化实战
前端·react.js·掘金日报
隔壁的大叔1 小时前
如何自己构建一个Markdown增量渲染器
前端·javascript
用户4445543654261 小时前
Android的自定义View
前端
WILLF1 小时前
HTML iframe 标签
前端·javascript
枫,为落叶1 小时前
Axios使用教程(一)
前端