Docker基础使用

132 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

在windows系统中,

  • 1、下载jdk包。2、配置jdk环境。3、tomcat部署java项目
  • 在linux环境中需要再配置一遍,各种环境版本也要相同。

image.png

dockerfile:jdk环境、其他配置。(镜像文件),直接就可以在linux系统运行。

优点:

  1. 简化配置 安装创建非常的方便
  2. 代码流水线(Code Pipeline)管理 传统项目部署可能需要经过很多环节,
  3. 容易产生版本的依赖冲突问题,Docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变得简单不少
  4. Devops 开发与运维一体化减少沟通的成本 (docker或者是k8s实现)
  5. 虚拟技术 快速部署
  6. 弹性扩容

Docker的三大核心要素:

1、仓库----类似腾讯管家软件市场,专门存放镜像文件 2、镜像----类似于安装包,描述运行所需要的环境配置和依赖。 reids镜像、tomcat镜像 方式来源: A、springboot项目(自己创建一个镜像文件) B、Dockerhub仓库下载 3. 容器----运行我们的镜像文件,自己独立的ip和网络信息,虚拟化出一个轻量级的linux操作系统精简版本。

image.png

docker pull先查看本地是否存在镜像文件,如果没有就去仓库下载到本地

image.png

  1. 从两者的架构图上看,虚拟机是在硬件级别进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面虚拟化,复用操作系统,运行Docker容器。
  2. Docker的速度很快,秒级,而虚拟机的速度通常要按分钟计算。
  3. Docker所用的资源更少,性能更高。同样一个物理机器,Docker运行的镜像数量远多于虚拟机的数量。
  4. 虚拟机实现了操作系统之间的隔离,Docker是进程之间的隔离,虚拟机隔离级别更高、安全性方面也更强。
  5. 虚拟机和Docker各有优势,不存在谁替代掉谁的问题,很多企业都采用物理机上做虚拟机,虚拟机中跑Docker的方式。

image.png

docker常见命令:

docker images 查看本地镜像文件

docker search mysql 查找镜像文件    latest表示最新的镜像文件

docker pull tomcat 下载镜像文件  没有设置版本号,默认最新的版本

docker pull tomcat:8 指定下载tomcat8版本。

docker images -q ---只显示镜像的id

docker rmi 镜像的id   删除镜像文件

docker run tomcat 运行容器    如果本地没有tomcat镜像文件,会去dockerhub查找下载到本地,如果dockerhub没有就会报错。

docker ps 查看运行的容器

docker inspect 容器id 查看容器信息,可以看到容器的ip地址信息

docker exec -it [CONTAINER ID] bash   进入容器中

进入容器后,ip addr 可以看到容器有自己的独立ip

docker stop 容器id  停止容器运行,但还是存在,只是停止而已

docker run --name my-tomcat tomcat  运行容器,并且给容器别名,存在后,不能继续创建docker rm 容器id 删除容器,删除容器后,再去创建相同名称的容器就会成功了

docker run --name my-tomcat -p 8081:8080 -d   tomcat

-p(指定容器端口号,将容器内部映射到外部,外部可以直接访问容器)

-d(后台启动)

8081(容器外部或者linux虚拟机访问的端口号  宿主机)

8080(容器内部端口号)

在容器外部,直接curl 127.0.0.1:8081就可以直接访问成功了