什么是laas、Paas和Saas、docker启动设置镜像、镜像相关命令、容器相关命令

发布时间 2023-04-17 16:24:14作者: Super小赵

昨日内容回顾

# 1 虚拟化
    -kvm
    -exsi
    -openstack:python写的云平台,管理虚拟机
    -docker:容器技术
    -k8s:容器编排
        
    -ansible:批量运维工具 基于ssh 超过500台机器
    -salstack:批量运维工具 cs架构
    -jenkins:流水线工具
    -gitlab:git远程仓库
        
    -普罗米修斯:Prometheus+grafana  ---> go写的
    -zabbix: php 运维监控软件
        
# 2 docker 跟虚拟机区别
    -docker 有自己的网络
    
# 3 docker 安装

今日内容

  • 什么是laas、Paas和Saas

  • docker 启动设置镜像

  • 镜像相关命令

  • 容器相关命令

1 什么是laas、Paas和Saas

Iaas: Infrastructure-as-a-Servive(基础设施即服务)
    IaaS公司会提供场外服务器,存储和网络硬盘,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用
    
Paas:平台服务
    PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等
    
Saas:软件即服务
    软件开发,部署,运维--->公司来做,卖给其他公司
    
FAAS:Function as a Service,"功能即服务"(也译作"函数即服务")

无服务器架构 serverless

2 docker 启动设置镜像

停止状态

systemctl status docker

启动

systemctl start docker

远程仓库,下载镜像

# 远程仓库,下载镜像 ,国外:https://hub.docker.com---》下载比较慢--》设置国内镜像站
	-https://cr.console.aliyun.com/cn-shanghai/instances/mirrors
# docker安装后会有 /etc/docker 文件夹
vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"]
}

sudo systemctl daemon-reload
sudo systemctl restart docker

2.1 启动与停止常用命令

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

查看docker状态

systemctl status docker

开机启动

systemctl enable docker

查看docker概要信息

docker info

查看docker帮助文档

docker --help

3 镜像相关命令

查找镜像

docker search 镜像名称

建议去hub.docker.com 直接搜,更直观

拉取镜像,指定标签 tag

docker pull centos:7
    
如果不指定标签,会下载最新
docker pull centos
docker pull centos:latest 

查看本地镜像

docker images  # 等同于 docker image ls

删除镜像

docker rmi 镜像ID   # 可以同时删多个

删除所有镜像

# 查出所有镜像的id号
docker rmi `docker images -q`

4 容器相关命令

# 把镜像运行成容器,并且一个一个镜像,可以运行出多个容器

查看正在运行的容器

docker ps

查看所有容器

docker ps -a

查看最后一次运行的容器

docker ps -l

运行容器

# 运行容器(其实是两步:创建容器:create,运行容器:run)
	-如果容器没有创建,直接执行run,就会创建并运行,所以你只需要会run就行了
    -run 的时候,有很多参数
        -i:表示运行容器
        -t:表示容器启动后会进入容器命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
        -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)
        
        
        --name :为创建的容器命名,如果不写,随机生成一个名字
            
            
        -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
        -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
        
docker run -id  # 不会进入到容器内部
docker run -it  # 会进入到容器内部
# 启动一个centos容器,名字叫mycentos,并且进入
docker run -it --name=mycentos centos:7
    
yum install vim -y  # 在容器中装了vim软件

exit  # 退出,容器停止了


# 启动一个centos容器,名字叫mycentos,不进入
docker run -id  centos:7

# 启动容器
docker start mycentos

# 进入到容器内部(本质是让容器执行命令)
docker exec 容器id 命令
docker exec f82e8578b9b1 ls

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

# 退出
exit

# -v参数:目录映射
docker run -id --name=zyl -v /home/zyl:/zyl centos:7
以后无论在宿主机还是容器中修改当前目录下的文件,都会相互影响



# -p参数:端口映射  容器中启动一个mysql5.7 --》容器中的3306监听,宿主机3306没人监听,做端口映射后,宿主机的3306就被docker的这个容器监听了
# 启动的mysql的root密码是123456

docker run -id --name=mysql -p 80:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

#  netstat -nlp |grep 80  查看本机80端口占用情况
# 以后访问宿主机80端口就等于访问容器的3306端口   

image-20230412113952919

image-20230412114649948

image-20230412114855784

image-20230412122857917