【Docker】Docker容器化部署及应用实战一

一、Docker的整体使用图(CICD)
Docker是以进程为单位进行隔离,所以不建议一个容器启动多个进程

二、Docker是什么

1.物理机

硬件成本

资源浪费

硬件资源限制

运维成本

2.虚拟化技术(操作系统隔离)

VMware、Virtual Box

更好的利用资源

容易扩展

3.容器化技术(进程隔离)

三、应用实战

1.docker安装

1.device-mapper逻辑卷管理工具
yum install -y yum-utils device-mapper-persistent-data lvm2

2.配置yum的源(以下两个任选其一,aliyun的对于国内来说更快)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装
yum clean all

yum makecache fast

yum -y install docker-ce

4.启动docker
systemctl(centos7以上版本支持的命令)

systemctl start docker
//设置为开机启动
systemctl start docker.service
systemctl enable docker.service

5.查看docker支持的命令
docker

2.docker的使用(阿里云提供了免费的镜像加速器,配置后可以加速pull)

//下载镜像
docker pull tomcat

//查看所有镜像
docker images

//运行镜像
//1.-d表示后台进程运行;containerName自定义的容器名;-p映射到得端口;port为宿主机的端口;dockerport为映射到docker容器中的端口;imageName为镜像名此处应为tomcat
//2.run时,如果镜像未提前拉取,会触发拉取
docker run -d --name containerName -p port:dockerport imageName
例如:docker run -d --name first_tomcat -p 8080:8080 tomcat

镜像运行成为容器

//查看运行的容器
docker ps
docker ps -l

//进入容器,containerId容器id
docker exec -it containerId /bin/bash

//退出容器
exit

//进入容器后查看文件,与Liunx操作系统操作一致
例如:ll /usr/local/tomcat

//停止容器(containerId可以不写全,可以自动匹配)
docker stop containerId
docker rm containerId

//查找镜像
docker search tomcat

//查看镜像详细信息
docker inspect tomcat

//查看资源
docker status 

//查看容器日志
docker logs containerid

3.运行实例

3.1查看运行的容器

3.2停止镜像

3.3docker status

四、Image Container

一个软件包通过docker构建为一个镜像;一个镜像可以被运行为一个容器

镜像的每一层都是只读的

从上往下查找,一旦找到就返回

五、UnionFS联合文件系统

Linux系统分为内核空间、用户空间

    bootfs,不同发行版本来说bootfs是一致的,可以被复用

    rootfs,不同发行版本来说是不同的(/etc、/bin、/dev、/tmp)

六、Dockerfile

dockerfile是一个配置文件,是docker用来构建镜像的配置文件

1.创建一个dockerfile文件,输入如下指令

2.使用docker对于该文件进行构建

docker build -t gupaoedu:hello-image

3.指令:

FROM:当前构建镜像的基础镜像
RUN:执行一个命令,在docker build期间执行的,每一个RUN命令都会新建一个层
ADD/COPY:把宿主机的文件拷贝到镜像内
WORKDIR:指定宿主机的工作目录,如果不存在则创建。且后续命令都在此工作目录执行
VOLUME:(数据卷,数据持久化),可以把容器中的文件系统映射到宿主机的文件系统
EXPOSE:发布端口
CMD:docker run的时候会默认执行的命令,如果有多个CMD,那么只有最后一个会生效,可以通过docker run --参数 去覆盖Dockerfile中运行的指令
ENTRYPOINT:docker run的时候会默认执行的命令

七、把springboot项目构建成image

1.创建Dockerfile(无后缀)

2.把包和此文件上传到服务器docker的工作目录下

3.使用docker build进行构建docker build -t imageName

例如:docker build -t yu:eurekaserver

4.查看镜像docker images,存在yu:erukaserver镜像

5.使用docker run -d --name containerName -p 9090:9090 imageName即可

例如:docker run -d --name eurekaserver-9090 -p 9090:9090 yu:eurekaserver

猜你喜欢

转载自blog.csdn.net/xiaren_1988/article/details/112247473