LOADING

加载过慢请开启缓存 浏览器默认开启

Docker-1-快速入门

Docker和虚拟机的区别

虚拟机:宿主机操作系统->抽象硬件层->操作系统->应用软件

虚拟机使操作系统能够直接在宿主机的操作系统上运行,而不需要在宿主机上安装系统和引导

Docker: 宿主机操作系统->Docker->应用软件

Docker使应用程序能够在不同操作系统上运行,而不需要进行环境配置等前置操作

Docker核心概念

  • 镜像(Image)

    简单理解:应用程序+文件系统(包含运行环境)
    编写好的项目如果想在其他设备上运行,则使用Docker打包为镜像,将镜像作为一个整体,通过Docker在另一台设备上运行。

  • 容器(Container)

    简单理解:容器和镜像的关系就如同面向对象中的实例(容器)和类(镜像)
    镜像是静态的,而容器是动态的。类比程序和进程。

  • 客户端(Client)

    用户/程序员通过Docker Client对容器、镜像等进行管理

  • Docker守护进程(Docker Daemon)

    简单理解:Docker Server,用户通过Client操作Daenon,实际对镜像、容器进行操作的是Docker Daemon。

构建自己的镜像

以vue项目为例

npm init vite

假设项目根目录为vue-demo

vim vite.config.ts

将host改为0.0.0.0

// vite.config.ts
...
    server: {
        host: "0.0.0.0",
        port: 8080
    }
...

创建Dockerfile(文件名注意大小写)

# Dockerfile
FROM node:18

ADD . /app

WORKDIR /app

RUN npm i

CMD npm run dev

创建dockerignore,排除不打包的文件和目录

# dockerignore
node_modules

将当前目录打包为镜像

# 镜像版本=v1,镜像名称=vue-demo
docker build -t vue-demo:v1

查看创建的镜像

docker images

创建容器并运行

docker run -d -p 80:8080 --name vue1 vue-demo:v1

查看正在运行的容器

docker ps

查看创建的容器列表

docker container ls

停止运行中的容器

docker stop 容器id/进程id

删除容器

docker rm 容器名称/容器id

删除镜像

docker rmi vue-demo:v1