什么是Iaas-Paas和Saas,Docker镜像与容器,docker 启动设置镜像,docker启动与停止常用命令,镜像相关命令,容器相关命令

发布时间 2023-04-12 19:16:58作者: 小王应该在学习!

什么是Iaas-Paas和Saas,Docker镜像与容器,docker 启动设置镜像,docker启动与停止常用命令,镜像相关命令,容器相关命令

什么是Iaas-Paas和Saas

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

看下面这个讲解就能够对于三者更有深层次的了解:https://zhuanlan.zhihu.com/p/387205758

img

Docker镜像与容器

镜像是构建Docker的基石。用户基于镜像来运行自己的容器。镜像也是Docker生命周期中的“构建”部分。镜像是基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来。例如:
	添加一个文件,执行一个命令,打开一个窗口
    
'''
我们可以将镜像当做容器的源代码。镜像的体积很小,非常便携,易于分享,存储和更新
Docker容器是一个镜像格式、一个列表标准格式,一个执行环境
Docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker将这个模型运用到自己的设计中,唯一不同的是:集装箱运输货物,而Docker运输软件。
'''

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

image

docker启动与停止常用命令

# 启动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

镜像相关命令

# 1 查找镜像
	-docker search 镜像名称  
    -建议去hub.docker.com 直接搜,更直观

image

# 2 拉取镜像,指定标签 tag
	docker pull centos:7
    如果不指定标签,会下载最新
    docker pull centos
    docker pull centos:latest      
        
# 3 查看本地镜像
	docker images  # 等同于 docker image ls
       
# 4 删除镜像
	docker rmi 镜像ID   # 可以同时删多个
  
# 5 删除所有镜像
    # 查出所有镜像的id号
        docker rmi `docker images -q`

image

容器相关命令

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

'''
查看正在运行的容器
	docker ps
查看所有容器
	docker pa -a
查看最后一次运行的容器
	docker pa -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

image

# -v参数:目录映射
docker run -id --name=lqz -v /home/lqz:/lqz 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