docker之简介与安装

环境配置问题

       没有虚拟机,我们往往是打包代码发给对方,然后让对方安装相应的环境,比如node、数据库,要是配置不同,项目很有可能无法运行,还会报错,如果多个人想要运行这份代码,那还得多次安装配置环境。

        有虚拟机之后,我们可以直接发个链接给别人就可以查看,就得开始部署在服务器上。然后去买了服务器,学了linux,去服务器上搭建环境,安装各种项目启动需要的东西,中途可能还安装不成功,然后XShell上传打包好的代码,然后解压运行,测试是否运行正常。

虚拟机

环境安装的一种解决办法,可以在windows上运行linux系统,通过虚拟机可以还原软件原始环境

优点:

        相当于真实系统,但是对于底层又是一个普通文件,可以随时删除,方便删除

缺点:

        资源占用多:在物理服务器创建一台虚拟机时,便需要虚拟出一套硬件并在上面运行完整的操作系统

        冗余步骤多:必须有完整的操作过程,比如登录

        启动慢

Linux

Linux不是模拟的完整的操作系统,而是对进程进行隔离,在正常进程的外面套了一个保护层形成容器。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离

优势(相对于虚拟机)

        启动快

        用资源少

        体积小:只是一个进程,而不是完整的操作系统

容器

Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。

docker

简介

        docker是基于Linux容器的一种封装,提供了简单易用的容器使用接口

        docker将应用程序与该程序的依赖打包在一个文件里。运行这个文件就会生成一个虚拟容器,就不用担心环境问题,还可以进行版本管理、复制修改等

优点

        提供一次性的环境:本地测试他人软件,持续集成的时候提供单元测试和构建的环境

        配置简化:将环境和配置放入代码然后部署,同样的Docker配置能够在各种环境中使用

        快速部署:适用于持续集成和持续交付(CI/CD)

组成

Docker使用C/S架构(服务器-客户机,服务器负责数据的管理,客户机负责完成与用户的交互任务)

Docker管理的对象包含镜像、容器、网络、数据卷等

        镜像:Docker 把应用程序及其依赖[提供运行项目的时候所需的程序,库,资源,配置等],打包在 image 文件里面,通过image生成 Docker 容器

        容器:容器 = 镜像 + 读写层,容器可以被创建、启动、停止、删除、暂停等

        网络:Docker容器之间进行通信的网络结构,可以让不同的Docker容器之间相互通信,也可以让Docker容器与宿主机或外部网络进行通信

        数据卷:是一个可供容器使用的特殊目录(或者称为存储空间),它能够将宿主机操作系统中的目录直接映射给容器,通过这种方式将宿主机目录映射给容器使用

安装

由于在CentOS下安装docker最常用,所以以Linux环境安装为主

1.安装工具包

缺少依赖无法完成

$ sudo yum install -y yum-utils

2.设置远程仓库

$sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.安装

$ sudo yum install docker-ce

4.启动

$ sudo systemctl start docker
或者
$ sudo service docker start
service docker start        #启动docker
chkconfig docker on         #加入开机启动

5.查看版本

$ sudo docker version

6.相关命令

镜像相关

        docker imager: 列出本地的镜像

        docker pull <image_name>: 从远程仓库拉取镜像到本地。

        docker push <image_name>: 将本地镜像推送到远程仓库。

        docker build -t <image_name> <dockerfile_path>: 基于 Dockerfile 构建镜像。

        docker tag <image_id> <new_image_name>: 为镜像添加标签。

        docker rmi <image_id>: 删除指定的镜像

容器相关

        docker ps: 列出正在运行的容器。
        docker ps -a: 列出所有容器,包括停止的容器。
        docker run <image_name>: 创建并启动一个容器。
        docker start <container_id>: 启动一个已停止的容器。
        docker stop <container_id>: 停止一个正在运行的容器。
        docker restart <container_id>: 重启一个容器。
        docker rm <container_id>: 删除一个容器。
        docker exec -it <container_id> <command>: 在正在运行的容器中执行命令。
        docker logs <container_id>: 查看容器的日志

网络相关

        docker network ls: 列出所有网络。
        docker network create <network_name>: 创建一个网络。
        docker network connect <network_name> <container_id>: 连接容器到网络。
        docker network disconnect <network_name> <container_id>: 断开容器与网络的连接

其他

        docker version: 显示 Docker 版本信息。
        docker info: 显示 Docker 系统信息。
        docker login: 登录到 Docker Hub 或其他镜像仓库。
        docker logout: 登出 Docker Hub 或其他镜像仓库。
        docker system prune: 清理无用的镜像、容器和网络资源。
        docker-compose up: 使用 Docker Compose 启动应用程序

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】Redis中的布隆过滤器

【Redis】Redis中的布隆过滤器 前言 在实际开发中&#xff0c;会遇到很多要判断一个元素是否在某个集合中的业务场景&#xff0c;类似于垃圾邮件的识别&#xff0c;恶意IP地址的访问&#xff0c;缓存穿透等情况。类似于缓存穿透这种情况&#xff0c;有许多的解决方法&#xf…

【计算机设计大赛】国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…

PyQt5资源的加载和使用,即如何使用Pyrcc

1、打开QtDesigner&#xff0c;选择编辑资源 2、新建资源文件&#xff0c;随便找个地方保存 3、按照自己的喜好命名&#xff0c;然后添加资源 4、保存并退出 5、我们创建一个QLabel&#xff0c;在这里添加资源 6、我们保存界面文件&#xff0c;并编译为py文件&#xff0c;然后…

GPT系列总结

1.GPT1 无监督预训练有监督的子任务finetuning https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf 1.1 Unsupervised pre-training &#xff08;1&#xff09;基于一个transformer decoder&#xff0c;通过一个窗口的输入得…

Python高光谱遥感数据处理与高光谱遥感机器学习方法教程

详情点击链接&#xff1a;Python高光谱遥感数据处理与高光谱遥感机器学习方法教程 第一&#xff1a;高光谱基础 一&#xff1a;高光谱遥感基本 01)高光谱遥感 02)光的波长 03)光谱分辨率 04)高光谱遥感的历史和发展 二&#xff1a;高光谱传感器与数据获取 01)高光谱遥感…

FPGA_学习_17_IP核_ROM(无延迟-立即输出)

由于项目中关于厂商提供的温度-偏压曲线数据已经被同事放在ROM表了&#xff0c;我这边可用直接调用。 今天在仿真的时候&#xff0c;发现他的ROM表用的IP核是及时输出的&#xff0c;就是你地址给进去&#xff0c;对应地址的ROM数据就立马输出&#xff0c;没有延迟。 我打开他的…

pdf怎么合并在一起?这几个合并方法了解一下

pdf怎么合并在一起&#xff1f;在日常工作、学习和生活中&#xff0c;我们常常会遇到需要将多个PDF文件合并成一个文件的情况。比如&#xff0c;在学术论文写作中&#xff0c;我们可能需要将多篇论文合并成一个文件进行打印和提交。在工作中&#xff0c;我们可能需要将多个报告…

c语言——分别计算字符串中英文、空格、数字和其它符号的个数

//分别计算字符串中英文、空格、数字和其它符号的个数 #include<stdio.h> int main() {char c;int letters0,spaces0,digits0,others0;printf("输入字符&#xff1a;\n");while((cgetchar())!\n){if((c>a&&c<z)||(c>A&&c<Z))lette…

专业课只考2门,计算机学硕最低分290的江苏院校

南京工业大学 考研难度&#xff08;☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、专业目录、23复试详情、各专业考情分析。 正文1332字&#xff0c;预计阅读&#xff1a;3分钟。 2023考情概况 南京工业大学计算机相关各专业复试和…

docker学习

配置数据卷容器 1、创建启动c3数据卷容器&#xff0c;使用-v参数&#xff0c;设置数据卷 docker run -it --namec3 -v /volume centos:7 /bin/bash 2、创建启动c1 c2容器&#xff0c;使用--volumes-from 参数设置数据卷 docker run -it --namec1 --volumes-from c3 centos:7 /…

git 回滚相关问题

原本用as自带的git执行回滚任务&#xff0c; 但是提交之后发现并没有成功&#xff0c; 后面通过命令行的方式重新回滚并且提交上去&#xff0c;就可以了 说明as的git还是有点小瑕疵&#xff0c;还是命令行最稳妥 相关博文&#xff1a; git代码回滚操作_imkaifan的博客-CSDN博…

STM32使用IIC通信的引脚配置问题

STM32使用IIC通信的引脚配置问题 在使用IIC通信时&#xff0c;遇到引脚配置问题&#xff0c;记录一下&#xff1a; IIC的两个引脚SDA和SCL都要求既能输入又能输出。 问题&#xff1a; SDA线是由不同的器件分时控制的&#xff0c;这样就会有一个问题&#xff1a;当一个器件主动…