centos8使用docker_Docker基础
一、什么是docker它是一个开源的软件项目,在Linux操作系统上,docker提供了一个额外的软件抽象层,即操作系统层虚拟化的自动管理机制。docker实质上被封装在了之后的K8s的系统中。1.1传统的部署环境:物理机:1、安装系统2、依赖环境 JAVA-kdk、NodeJS-Node、PHP-PHP3、应用程序4、再加一台物理机--->提高并发量虚拟机:KVM Xen:1、...
一、什么是docker
它是一个开源的软件项目,在Linux操作系统上,docker提供了一个额外的软件抽象层,即操作系统层虚拟化的自动管理机制。docker实质上被封装在了之后的K8s的系统中。
1.1传统的部署环境:
物理机:
1、安装系统
2、依赖环境 JAVA-kdk、NodeJS-Node、PHP-PHP
3、应用程序
4、再加一台物理机--->提高并发量
虚拟机:
KVM Xen:
1、把一个物理机虚拟机虚拟成多个机器
2、把依赖环境打成一个系统的模板
1.2容器化:
Docker:
1、镜像基础
a)依赖环境的镜像
b)根据基础镜像,放入jar或者war包到webapps下,生成一个新的镜像,再运行(这里就是程序镜像)
c)按层存储,生成的新的镜像使用的是同一个基础层,可以节省很多的存储空间
d)启动时间很快,秒级启动
容器:把自己的应用程序根据某个基础镜像,生成一个应用程序新镜像,新镜像就可以运行在部署了docker环境的机器上。
二、docker的基本命令
在k8s中都是使用了kubectl对pod这个对象进行操作,不清楚pod的基本概念的可以在后续的章节中了解。
docker version
需要注意的是centos7的版本中不需要安装containerd,而如果你使用的是centos8的最新版本的系统的时候就需要安装containerd
docker info
1、查询docker信息,显示宿主机容器的运行状态,镜像数量,存储驱动(overlay2),要求linux的文件系统一定要是xfs文件系统,并且可以支持d_type
2、现如今比较流行的存储驱动有aufs、overlay和brtfs等等
3、json_file:日志文件以json的格式进行输出存放在本地,在显示的dokcer root dir中如下图所示,该目录下是正在运行的容器,存放本地地址是可以修改的
4、容器内部的删除启动命令都是通过runc来执行的
xfs_info /#查看d_type是否启动,如果显示的ftype=1说明d_type是开启的
docker search
进行镜像搜索,如果该镜像带有office ok的说明他是官方支持更新的镜像
docker pull/push
将docker官方的镜像拉取到本地,如果本地有你拉取的镜像这里要求tag和镜像名称一致,docker images命令可以查看自己本地的镜像。此外,如果是不指定tag去拉取的话,默认是latest的镜像版本
push:将本地的镜像推送到镜像仓库
docker run
启动一个镜像两种启动方式:
1、前台启动:
如果你要运行镜像在本地没有,他就会提示报错你没有镜像就会去默认的镜像仓库拉取镜像启动完了之后,容器自动退出不会保持进程
docker run -it nginx bash #指定一个启动命令,比如sh或者bash
2、后台启动
docker run -d nginx bash
因为dockerfile里面写了nginx -g demon-off:所以如果是前台启动的话,执行完之后就会退出
将宿主机的12345端口映射到容器的80端口,默认nginx服务是80端口启动的
docker run -itd -p 12345:80 nginx
docker logs
查看容器日志
docker ps
查看正在运行的容器进程
docker exec
进入一个docker的容器内部
docker cp
将宿主机的文件拷贝到容器内部,通常nginx的html页面存放在容器的
/usr/share/nginx/html下
echo "liuchang" > index.htmldocker cp index.html 5fb3bc9a47d5:/usr/share/nginx/html
同时也可以将容器内部的文件拷贝搭配宿主机的指定目录下
docker rmi删除本地的镜像
docker rm
删除本地的容器,但是删除之前需要stop正在运行的容器
docker tag
给自己的镜像打上标签以便于将本地的镜像推送到远程的镜像仓库中去
docker images
查看本地已有的镜像
docker stop
停止正在运行的一个容器进程
docker build
使用dockerfile创建文件时使用
docker history
docker commit
将运行的容器打一个快照,将一个容器变成一个静态的镜像保存状态以便于下次运行
docker commit -a "liuchang" -m "add index.html" containerid 镜像:tag
docker run -it --rm nginx bash #--rm参数表示,启动之后就会自动删除不会产生多余的参与docker进程
更多推荐
所有评论(0)