docker_day02:lass-Pass和Saas docker启动设置镜像 镜像 容器相关命令
什么是Iaas-Paas和Saas
Iaas:Infrastructure-as-a-Service(基础设施即服务)
- IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用
Paas:平台即服务
- paaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等
Saas:软件即服务
- 软件开发,部署,运维---》公司来做,卖给其他公司软件
FAAS:Function as a Service,"功能即服务"(也译作“函数即服务”)
无服务器架构 serverless
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
启动与停止常用命令
-
启动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 直接搜,更直观
2.拉取镜像,指定标签 tag
docker pull centos:7
如果不指定标签,会下载最新
docker pull centos
docker pull centos:latest
3.查看本地镜像
docker images # 等同于 docker image ls
CREATED构建镜像的时间
4.删除镜像
docker rmi 镜像ID # 支持可以同时删多个
5.删除所有镜像
# docker images -q 先查出所有镜像的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容器,名字叫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 docker exec f82e8578b9b1 ls
docker exec -it f82e8578b9b1 /bin/bash # 进入到容器内部
# 退出
exit
# -v参数:目录映射
docker run -id --name=wyf -v /home/wyf:/wyf 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
# 查看本机80端口占用情况
netstat -nlp |grep 80
# 以后访问宿主机80端口就等于访问容器的3306端口
run -it就能直接进去到容器中
容器中退出到宿主机
查看正在运行的容器
docker exec docker exec 容器ID ls 本质是让容器执行命令
以后无论在宿主机还是容器中修改当前目录下的文件,都会相互影响
yum install net-tools安装工具包:
在本地创建库,进入到容器mysql中查看到wyf库
目录映射:
端口映射: