首页 > 其他分享 >Docker安装使用教程

Docker安装使用教程

时间:2024-06-05 16:11:31浏览次数:18  
标签:容器 教程 应用程序 镜像 docker 安装 Docker 运行

Docker安装使用教程

Docker是什么

Docker是一个容器化开源平台,它使开发者可以再容器中封装应用程序,以及其依赖的所有组件,包括操作系统、库文件、环境变量等,并以轻量级、可移植的方式进行交付和部署.

Docker的三大核心概念是:

镜像(Image):镜像是Docker的基本构建块,它是一个只读的模板或蓝图,用于创建Docker容器。镜像包含了运行应用所需的操作系统、应用程序代码、运行时依赖项以及各种配置文件。你可以使用Docker命令从镜像创建容器。

容器(Container):容器是基于镜像创建的运行实例。每个容器都是一个独立的、安全隔离的运行环境,其中包含了必要的运行时组件和应用程序。容器可以启动、启动、停止、删除并重启。

仓库(Registry):仓库是用于存储和分享Docker镜像的地方。Docker Hub是官方的公共仓库,你可以在其中找到大量的官方和社区创建的镜像。此外,你还可以搭建自己的私有仓库来存储和管理自己的镜像。

为什么选择Docker

容器是一种轻量级的虚拟技术(是第二代云计算技术),但是与传统虚拟机不同,容器的技术更加高效,轻量因为它们共享主机操作系统的内核,相互之间的隔离程度更低.Docker利用Linux内核的cgroups和命名空间等特性,提供了一种隔离的运行环境,应用程序可以在容器内部独立运行,互不影响。

容器类似于是汽车,docker则类似于是一个知名的汽车品牌,但是docker起步比较早,并且发展迅速.

有点老大哥的感觉,虽然存在一些问题(比如,占用资源,安全性漏洞可能会导致宿主机的安全问题,需要用到数据卷来解决持久化问题,存在一定的学习曲线和复杂性).有类似的容器技术在此基础上做出了优化,但是奈何docker功能过于强大,目前docker容器技术依旧是主流.

在一般情况下,容器,镜像,应用程序之间的关系是一对一的,目的是,更加容易管理和维护,降低了相互干扰的风险.

但是在特殊情况下,可以使一对多的关系,但是要保证多个之间相互没有冲突,并每个都可以独立启动和停止.

docker技术的出现解决了那些问题:

1:应用程序与环境的一致性:在传统的应用程序部署中,由于生产,开发,测试,的环境不同所以时常会出现程序无法正常运行的问题.Docker 使用容器化技术,将应用程序及其依赖项打包成容器,使得应用程序能够在不同的环境中以相同的方式运行,保证了应用程序环境的一致性。

2快速部署和交付:传统的应用程序部署通常需要手动配置环境、安装软件和调整参数,耗时且容易出错。Docker 提供了一种快速部署和交付应用程序的方式,通过使用容器镜像,可以快速地在目标主机上启动一个容器,并将应用程序及其依赖项一并交付,极大地简化了部署过程,提高了交付效率。

3资源利用率优化:传统的虚拟化技术通过在物理主机上运行多个虚拟机来实现资源的利用率优化。然而,每个虚拟机都需要运行一个完整的操作系统,占用了较多的资源。Docker 使用操作系统级别的虚拟化技术,共享主机操作系统内核,多个容器可以运行在同一个宿主机上,实现了更高的资源利用率。

4运维简化:Docker 提供了一套简单易用的命令行接口和管理工具,使得容器的创建、启动、停止和管理变得非常方便。通过使用 Docker,开发人员和运维团队可以更好地协作,简化应用程序的部署和管理流程,减少了运维的工作量。

安装教程:

下载Docker客户端

https://www.docker.com/products/docker-desktop

开启虚拟化

打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,点击确定后,启用完毕会提示重启系统,我们可以稍后再重启。

descript

安装WSL2(Windows Subsystem for Linux)

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

配置阿里云镜像加速

获取阿里云镜像加速器地址

登录阿里云

阿里云-计算,为了无法计算的价值 (aliyun.com)

descript

descript

descript

descript

配置Docker客户端加速器

打开Docker客户端

右键点击任务栏Docker,点击Settings,找到Docker Engine 添加

"registry-mirrors": [

"https://xxxx.xxxx.aliyuncs.com"(阿里云镜像加速器地址)

]

descript

参考文档:

(2条消息) win10安装docker教程_Bruce-li__的博客-CSDN博客

(2条消息) window11安装docker小白教程_windows11安装docker_在养一只虎纹�的博客-CSDN博客

项目部署

后端API项目

Web解决方案 右键新增支持Docker 生成Dockerfile 文件 (将本地的需要的依赖项以及配置进行说明,在Docker创建镜像时使用).

descript

将Dockerfile文件放到与控制器文件同等目录下 在资源文件框中输入cmd

进入命令提示符: docker build -t 镜像名 .(最后的点不能少)

输入 docker images 查看镜像是否生成

创建容器将镜像放到容器上运行

docker run -d --name 容器名称 -p 端口号:端口号 镜像名称 也可以在客户端进行操作 点击左侧images 找到生成的镜像 点击三角符号运行 配置端口号

docker ps 查看正在运行的容器

docker ps -a 查看所有的容器

容器正常运行即可访问接口

也可以通过 docker exec -it 容器名称 /bin/bash 进入容器内部 (一般用于前端执行命令)

前端Vue 项目

  1. 在项目目录下创建Dockerfile 文件 (大小写需要严格遵循)

descript

  1. 构建Dockerfile

# 使用基础的 Node.js 镜像作为基础镜像(根据项目实际需要node版本更改)

descript

FROM node:19

# 设置工作目录

WORKDIR /app

# 复制 package.json 和 package-lock.json 到工作目录

COPY package*.json ./

# 安装项目依赖(根据不同版本Node 安装依赖包命令适当更改)

RUN npm install

# 将项目文件复制到工作目录

COPY . .

# 构建 Vue 项目

RUN npm run build

# 暴露容器的端口号

EXPOSE 8080

# 运行应用

CMD ["npm", "run", "serve"]

  1. 打开Dockerfile所在文件(用资源管理器打开) 地址栏输入Cmd进入命令提示符

descript

  1. 输入docker build -t 镜像名称 .

descript

  1. docker images 查看生成镜像

descript

  1. docker run -d --name 容器名称 -p 端口号:端口号 镜像Id

descript

运行容器成功,访问端口.

Docker常用命令

镜像相关操作:

  • docker images:列出本地的镜像列表。
  • docker pull <image_name>:从镜像仓库中下载指定的镜像。
  • docker build -t <image_name> <Dockerfile_path>:根据 Dockerfile 构建新的镜像。
  • docker push <image_name>:将本地镜像推送到镜像仓库。
  • docker rmi <image_name>:删除指定的镜像。

容器相关操作:

  • docker run <image_name>:基于镜像创建并运行新的容器。
  • docker ps:列出正在运行的容器列表。
  • docker stop <container_id>:停止指定的容器。
  • docker start <container_id>:启动已经停止的容器。
  • docker restart <container_id>:重启指定的容器。
  • docker rm <container_id>:删除指定的容器。
  • docker exec -it <container_id> <command>:在正在运行的容器中执行命令。

docker exec -it /bin/bash 进入容器内部

标签:容器,教程,应用程序,镜像,docker,安装,Docker,运行
From: https://www.cnblogs.com/zwh1120/p/18233220

相关文章

  • docker-compose入门级实战教程
    ......
  • docker部署hadoop集群
    docker部署hadoop集群:https://blog.51cto.com/865516915/2150651 一、主机规划3台主机:1个master、2个slaver/workerip地址使用docker默认的分配地址:master:主机名:hadoop2、ip地址:172.17.0.2 slaver1:主机名:hadoop3、ip地址:172.17.0.3主机名:hadoop4、ip地址:172.17......
  • Ubuntu server 24 (Linux) 安装部署smartdns 搭建智能DNS服务器
    SmartDNS是推荐本地运行的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度和准确性。支持指定域名IP地址,达到禁止过滤的效果。一安装smartdns1 关闭Ubuntu自带dns解析systemd-resolv......
  • docker修改镜像源
    一,更改docker的镜像源1.修改:vi/etc/docker/daemon.json文件,新增下面的内容(一般建议新增2-3个){#中国科技大学"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]#网易"registry-mirrors":["https://hub-mirror.c.163.com"]#阿里"registry......
  • docker自定义仓库
    使用官方镜像创建registry仓库容器: 下载官方registry镜像: #dockerpullregistry  在本地创建registry仓库容器: #mkdir-p/opt/data/registry#dockerrun-idt-p5000:5000--nameregistry-v/opt/data/registry/:/tmp/registryregistry//以上命令会创建一个名......
  • nuxt简单入门安装
    参考:https://www.jianshu.com/p/fd99718a63e9@目录概要具体流程小结概要听说直接使用vue写前端对百度的seo不够友好,于是便考虑使用nuxt生成静态化来处理具体流程首先你的本机环境要有npm,如下图然后可以使用npx安装nuxt,npx是npm5点几就支持的了,但是我这一开始还不行,还需要手......
  • IIS 安装和部署
    1.第一步 2.第二步:  第三步,把下面这些全安装上 4,第四步:在控制面板,将查看方式修改为小图标 5.找到"管理工具"有的电脑叫"windos工具"点击进入6.找到刚刚安装的IIS  7.添加网站 8,根据自己情况配置即可 ......
  • docker入门教程
    1.Docker简介1.1Docker和虚拟化的区别虚拟化将物理硬件资源虚拟化为多个虚拟机。每个虚拟机拥有自己的操作系统和应用程序,彼此隔离。虚拟机启动速度较慢,资源消耗较大。Docker在一台服务器或虚拟机上使用同一操作系统部署多个应用程序每个容器共享操作系统的内核,但......
  • JAVA:实际工作中,项目上线——打包war,并部署到Tomcat中运行(史上最详细教程)
    每日一讲希望每天叫醒你的不是闹钟,而是梦想!目录每日一讲1.部署原因1.1Tomcat介绍 2.Tomcat下载及安装2.1Tomcat下载2.2Tomcat在IDEA上部署​2.3解决Tomcat乱码问题3.打包war文件,并在Tomcat目录下运行3.1打包文件3.2Tomcat环境配置3.3Tomcat运行1.部署原因......
  • CentOS-7.9 安装MongoDB6.0.6-server步骤
    下载解压wgethttps://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/mongodb-org-server-6.0.6-1.el7.x86_64.rpmsudorpm-ivhmongodb-org-server-6.0.6-1.el7.x86_64.rpm安装MongoDBsudomkdir-p/usr/local/mongodb/data/usr/local/mongodb/log/usr/lo......