【Docker】安装、镜像、容器

news2024/10/25 22:19:03

什么是Docker?

Docker:是基于Go语言实现的开源项目。

  • Docker 是一个用于开发、交付和运行应用程序的开放平台。
  • 它允许开发人员将应用程序及其依赖包打包到一个可移植的容器中, 然后在任何流行的 Linux 机器上运行。Docker 容器是完全隔离的, 使用沙箱机制,相互之间没有任何接口。

Docker的主要目标是“Build,Ship and Run Any App,Anywhere” 也就是通过对应的组件的封装,分发,部署,运行等生命周期管理,是用户APP及运行环境能够做到 “一次封装,到处运行”

Docker的设计理念:构建(build)、运输(ship)、运行(running)

Docker的结构

  • image镜像:docker镜像就是一个只读模板,比如,一个镜像可以包含一个完整的centos,里面仅安装apache或用户的其他应用,镜像可以用来创建docker容器,另外docker提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下一个已经做好的镜像来直接使用;
  • container容器:docker利用容器来运行应用,容器是从镜像创建的运行实例,它可以被启动,开始、停止、删除、每个容器都是互相隔离的,保证安全的平台,可以把容器看做是要给简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序;
  • repostory仓库:仓库是集中存储镜像文件的沧桑,registry是仓库主从服务器,实际上参考注册服务器上存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag);
  • 仓库分为两种:公有仓库、私有仓库,最大的公开仓库是docker Hub,存放了数量庞大的镜像供用户下载;

国内仓库:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
    "https://5tqw56kt.mirror.aliyuncs.com",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn/",
    "http://mirror.azure.cn/",
    "https://hub.rat.dev/",
    "https://docker.ckyl.me/",
    "https://docker.chenby.cn",
    "https://docker.hpcloud.cloud",
    "https://docker.m.daocloud.io"
  ]
}

Docker安装【6步】

docker安装

第一步:安装依赖工具
yum -y install yum-utils device-mapper-persistent-data lvm2  
第二步:下载镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步: 安装
yum makecache fast
yum -y install docker-ce 
第四步: 启动
systemctl start docker  
第五步:查看状态
systemctl start docker  
第六步: 测试
docker run hello-world
  1. 安装依赖工具

yum -y install yum-utils device-mapper-persistent-data lvm2

  1. 下载镜像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  1. 安装docker

yum makecache fast 【创建元数据缓存】

yum -y install docker-ce 【安装docker】

4.启动docker

systemctl start docker

5.查看docker状态为active,活动中

systemctl status docker

6.测试 docker run hello-world

发现测试失败,需要跳转到docker目录,添加一个daemon.json文件

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
    "https://5tqw56kt.mirror.aliyuncs.com",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn/",
    "http://mirror.azure.cn/",
    "https://hub.rat.dev/",
    "https://docker.ckyl.me/",
    "https://docker.chenby.cn",
    "https://docker.hpcloud.cloud",
    "https://docker.m.daocloud.io"
  ]
}

systemctl restart docker 重启docker服务:

docker info 查看镜像仓是否生效:

再次执行:

docker run hello-world

输出Hello from Docker!说明安装成功!

Docker镜像

获取镜像:
docker pull 镜像名称
 
查看本地所有的镜像:
docker  images
 
删除本地镜像
docker  rmi  镜像标识id

获取nginx镜像:

查看本地所有镜像:

删除本地镜像:

docker安装nginx:

docker安装mysql:

查看docker中的镜像:

删除镜像:

删除nginx镜像:

Docker容器

运行容器:
docker   run  -d  -p 宿主机端口:容器端口 --name   容器名称   镜像的标识
参数解释:-d 代表后台执行-p 将当前Linux的端口和容器的端口号进行映射--name 容器的名字
查看正在运行的容器:
 docker   ps   -qa
参数解释 :-a 所有容器(包括没有运行的容器)-q 只查看标识
 
停止容器运行:
docker  stop  容器标识
启动容器:
docker  start  容器标识
删除容器: (只能删除停止运行的容器)
docker  rm   容器标识
docker rm  -f 容器标识  (强制删除容器,(即使是运行中的)

启动docker中的nginx:

关闭nginx:

启动nginx:

删除docker容器:

不能删除正在运行的docker容器,除非强制删除;

Docker安装nginx

 1.获取镜像
docker pull nginx
 2. 创建容器并运行
docker run --name=my-nginx -p 80:80 -d  镜像编号
3. 测试
使用浏览器

docker run -d --name=my-nginx -p 12345:80 605c77e624dd
docker ps    docker ps 是 Docker 命令行工具中用于列出当前正在运行的容器的一个命令

Docker部署nginx并访问网页

以下是 Nginx 在 Linux Docker 中的常见目录结构:
/etc/nginx: 存放 Nginx 的配置文件。
/var/log/nginx: 存放 Nginx 的日志文件。
/usr/share/nginx/html: 存放 Nginx 的静态资源文件。
查看nginx的配置文件
docker exec my-nginx cat /etc/nginx/nginx.conf
将网站部署到docker中的nginx
 docker  cp  宿主机的网址目录   docker中的nginx名或id:/usr/share/nginx/html/
 docker  cp  ./qq  my-nginx:/usr/share/nginx/html/

Dockerfile:

Dockerfile文件:

# 获取nginx镜像
FROM nginx:latest
# 将本地的nginx文件拷贝到nginx的配置目录中
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 将本地的html项目拷贝到nginx目录中
COPY ./html /usr/share/nginx/html
# 开放80端口
EXPOSE 80

nginx.conf文件:

server {
    listen 80;
    server_name localhost; 
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

创建html文件夹,写入一个html页面:

创建docker镜像:

访问:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2223592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Openpyxl--学习记录

1.工作表的基本操作 1.1 工作表的新建打开与保存 1.1.1 创建工作簿 from openpyxl import Workbook from pathlib import Pathfile_path Path.home() / "Desktop" / "123.xlsx"# 1.创建工作簿 wb Workbook() # 2.访问默认工作簿 ws wb.active # 3.填充…

pytorh学习笔记——cifar10(六)MobileNet V1网络结构

基础知识储备: 一、深度可分离卷积(Depthwise Separable Convolution) MobileNet的核心是深度可分离卷积(Depthwise Separable Convolution),深度可分离卷积是卷积神经网络(CNN&#xf…

低代码开发详解与行业应用指南

低代码开发简化软件开发,助力企业数字化转型。ZohoCreator应用于零售、制造、教育、IT、医疗、房地产等行业,提升效率、降低成本。灵活定价,支持免费试用,助力企业快速实现数字化。 一、低代码开发是什么? 低代码开发…

CSS3 动画相关属性实例大全(三)(columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性)

CSS3 动画相关属性实例大全(三) (columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性) 本文目录: 一、columns属性(设置元素的列宽和列数) 二、filter属性(调整图像、背景和边…

打造充电场站:场地选择与合规运营详解

建设一座充电站需要六步流程:准备工作 → 备案 → 土地审核 → 规划审核 → 电力申请 → 验收确认 一、准备工作 在确定建设前,要考察待选的场地,例如空地、停车场等,与场地所有方签订充电站建设合作协议。根据场地和车流量等实际…

Docker 部署 EMQX 一分钟极速部署

部署 EMQX ( Docker ) [Step 1] : 拉取 EMQX 镜像 docker pull emqx/emqx:latest[Step 2] : 创建目录 ➡️ 创建容器 ➡️ 拷贝文件 ➡️ 授权文件 ➡️ 删除容器 # 创建目录 mkdir -p /data/emqx/{etc,data,log}# 创建容器 docker run -d --name emqx -p 1883:1883 -p 1808…

H7-TOOL的LUA小程序教程第15期:电压,电流,NTC热敏电阻以及4-20mA输入(2024-10-21,已经发布)

LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用&#xff…

在矩池云使用智谱情感语音模型GLM-4-Voice,详细指南

GLM-4-Voice 是智谱 AI 推出的端到端语音模型。GLM-4-Voice 能够直接理解和生成中英文语音,进行实时语音对话,并且能够遵循用户的指令要求改变语音的情感、语调、语速、方言等属性。 本文将详细介绍,如何在GPU算力租赁平台矩池云上快速复现、…

MongoDB安装配置及配置和启动服务

MongoDB 安装配置 附:MongoDB官网下载地址: https://www.mongodb.com/download-center/community 注: 官网可以下载最新版的MongoDB安装包,有MSI安装版和ZIP安装版。我们课堂上使用4.4.4的ZIP安装版。安装版参考博客&#xff1…

使用rust实现类似C#中的Convert数据转换类

// 编写一个模块&#xff08;好比是C#的一个类&#xff09; pub mod Convert {// 定义函数&#xff08;好比C#中的方法&#xff09;pub fn ToInt32(s:&str) -> i32 {s.parse::<i32>().unwrap()}pub fn ToInt64(s:&str) -> Result<i64,std::num::ParseIn…

Maven入门到实践:从安装到项目构建与IDEA集成

目录 1. Maven的概念 1.1 什么是Maven 1.2 什么是依赖管理 1.3 什么是项目构建 1.4 Maven的应用场景 1.5 为什么使用Maven 1.6 Maven模型 2.初识Maven 2.1 Maven安装 2.1.1 安装准备 2.1.2 Maven安装目录分析 2.1.3 Maven的环境变量 2.2 Maven的第一个项目 2.2.1…

AUTOSAR CP 中 BswM 模块功能与使用介绍(2/2)

三、 AUTOSAR BswM 模块详解及 ARXML 示例 BswM 模块的主要功能 BswM&#xff08;Basic Software Mode Manager&#xff09;模块在 AUTOSAR 架构中扮演着模式管理的核心角色。它负责管理车辆的各种模式&#xff08;如启动、运行、停车等&#xff09;&#xff0c;并根据不同的…

stm32入门教程--ADC模拟-数字转换器

ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转你换位内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁。 12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a;0-3.3V转换结果范围…

MCK主机加固与防漏扫的深度解析

在当今这个信息化飞速发展的时代&#xff0c;网络安全成为了企业不可忽视的重要议题。漏洞扫描&#xff0c;简称漏扫&#xff0c;是一种旨在发现计算机系统、网络或应用程序中潜在安全漏洞的技术手段。通过自动化工具&#xff0c;漏扫能够识别出系统中存在的已知漏洞&#xff0…

基于大型语言模型的智能网页抓取

Google Gemini 是 Google AI 创建的大型语言模型 (LLM) 系列&#xff0c;可提供最先进的 AI 功能。Gemini 模型包括&#xff1a; Gemini Ultra — 最大、最强大的模型&#xff0c;擅长处理编码、逻辑推理和创意协作等复杂任务。可通过 Gemini Advanced&#xff08;原名 Bard&a…

使用QT绘图控件QCustomPlot绘制波形图

使用QT绘图控件QCustomPlot绘制波形图 下载QCustomPlot 下载QCustomPlot,链接路径 解压之后就能看到源代码了 在Qt中添加QCustomPlot的帮助文档 在Qt Creator的菜单:工具–>选项–>帮助–>文档–>添加qcustomplot\documentation\qcustomplot.qch文件。

《PP-OCRv1》论文精读:PaddleOCR是目前SOTA级别的OCR开源技术(截止2024年10月)

PP-OCR: A Practical Ultra Lightweight OCR System论文地址PP-OCRv2: Bag of Tricks for Ultra Lightweight OCR System论文地址PP-OCRv3: More Attempts for the Improvement of Ultra Lightweight OCR System论文地址PaddleOCR Github OCR工具库 43.5K个star PP-OCRv1由百度…

CMU生成式人工智能大模型:从入门到放弃(四)

引言 在之前的系列博客中&#xff0c;我们深入探讨了生成式AI的基础知识、大型语言模型的发展&#xff0c;以及如何通过递归神经网络&#xff08;RNN&#xff09;和Transformer模型来学习语言模型。今天&#xff0c;我们将转向计算机视觉领域&#xff0c;探讨预训练与微调的概…

STM32--SPI原理及应用

1.什么是SPI SPI&#xff0c;Serial Peripheral interface&#xff0c;串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。 2.SPI基本特性 SPI&#xff0c;是一种高速全双工的通信总线。广泛地应用在ADC、LCD等设备与MCU间&#xff0c;适用于对通…

微前端架构新选择:micro-app 框架一文全解析

目录 前言技术方案沙箱withiframe 环境变量主应用生命周期子应用生命周期初始化更新卸载缓存 JS 沙箱样式隔离元素隔离路由系统⭐数据通信⭐资源系统预加载umd 模式其他功能调试工具 前言 https://micro-zoe.github.io/micro-app/ micro-app 是由京东前端团队推出的一款微前端…