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 启动应用程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值