docker,laas-pass和saas,docker启动设置镜像,镜像相关命令,容器相关命令

内容回顾

flask-sqlalchemy

flask中集成sqlalchemy

session要并发安全

建立表模型集成Base

字段,字段参数,统统需要导入

flask-sqlalchemy:封装了一个类,只需要实例化得到对象

配置信息:直接放到配置文件》flask-sqlalchemy如何读出来的

db = SQLAlchemy()
db.init_app(app)# 把app传入,就能去到配置信息》创建了engin》生成了session
对象.session
对象.Model
对象.字段
全都是SQLAlchemy内生成好的


使用步骤:
配置文件配置连接信息
导入SQLAlchemy类
实例化得到对象,db.init_app(app) 完成初始化
视图函数中使用session db.session
在model.py中建立表模型集成db.Model
创建出所有表
db.create_all()

flask-migrate

实现像django的orm一样做表和字段的迁移和记录

init

migrate (相当于django的makemigrations)

upgrade (相当于django的migrate)

虚拟化

kvm

exsi

openstack:python写的云平台,管理虚拟机

docker:容器技术

k8s:容器编排

ansible:批量运维工具,基于ssh 超过500台机器,性能会下降

salstack:批量运维工具 cs架构

jenkins:流水线工具

gitlab:git远程仓库

普罗米修斯:prometheus+grafans》go写的

zabbix:php 运维监控软件

docker根虚拟机区别

docker 有自己的网络

内容详情

什么是laas-paas和saas

laas:Infrastructure-as-a-Service(基础设施即服务)

aaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用

Paas:平台即服务

aaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等

saas:软件即服务

软件开发,部署,运维》公司来做,卖给其他公司软件

FAAS:Function as a Service,"功能即服务"(也译作“函数即服务”)

无服务架构:serverless

docker启动设置镜像

停止状态

systemctl status docker

启动:

systemctl start docker

远程仓库,下载镜像,国外https://hub.docker.com》下载比较慢》设置国外镜像站https://xxxx(这里是自己).mirror.aliyuncs.com【可以去这里自己申请一个https://cr.console.aliyun.com/cn-shanghai/instances/mirrors】

docker安装后会有/etc/docker文件夹

vim /etc/docker/daemon.json

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

加载配置

sudo systemctl daemon-reload

重启

sudo systemctl restart 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

镜像相关命令

查找镜像

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空格隔开

删除所有镜像

查出所有镜像的id号

docker rmi `docker images -q`  (没事不要瞎执行)

容器相关命令

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

查看正在运行的容器

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容器,名字叫mycents,并且进入

docker run -it --name=mycentos centos:7.9.2009

解释,最后的是下载的【容器名称与标签】

image-20230412171738998

image-20230412171937737

yum install vim -y 在容器内安装vim软件

exit 退出,容器停止了

docker start mycentos

启动一个centos容器,不起名字,不进入

docker run -id centos:7.9.2009

进入到容器内部(本质是让容器执行命令)

docker exec 容器id(或者容器名称) 命令

docker exec 841b804de8d5 ls 用容器id进入

docker exec mycentos ls 用容器名进入

docker exec mycentos -it /bin/bash 进入到容器内部-i运行-t生成一个伪终端

exit退出终端一个一个退出

目录映射:-v参数

docker run -it --name=lqz -v /home/lqz:/lqz centos:7.9.2009

端口映射:-p参数

容器中启动一个mysql5.7》容器中的3306监听,宿主机3306没人监听,做端口映射后,宿主机的3306就被docker这个容器监听了

启动的mysql的root密码123456

docker run -id --name=mysql -p 8899:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.28

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

image-20230412114649948image-20230412113952919

image-20230412122857917image-20230412114855784

posted @ 2023-04-12 18:18  clever-cat  阅读(30)  评论(0编辑  收藏  举报