docker之简介与安装

环境配置问题

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

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

虚拟机

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

优点:

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

缺点:

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

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

        启动慢

Linux

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

优势(相对于虚拟机)

        启动快

        用资源少

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

容器

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

docker之简介与安装_第1张图片

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 : 从远程仓库拉取镜像到本地。

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

        docker build -t : 基于 Dockerfile 构建镜像。

        docker tag : 为镜像添加标签。

        docker rmi : 删除指定的镜像

容器相关

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

网络相关

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

其他

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

你可能感兴趣的:(k8s,docker,容器,运维)