619df0277164903a9643cad559fa74c3.png

引言:本文主要介绍Docker是什么,以及Docker的使用

一.Docker和普通的虚拟技术有什么不同

Docker是基于宿主机的也就是我们常说的Linux内核,而普通的虚拟技术是创建虚拟机,然后针对虚拟机(Centos)这种操作系统来构建应用。Docker实际是对进程的封装。虚拟机启动是分钟级别的,Docker是秒级别的。

二.一致的运行环境

很多人会说使用Docker是因为他轻量级,一台服务器上可以部署成百上千个容器。更快的启动时间,应用的启动时间是秒级别的。但是其实最主要的应该是一致的运行环境。Java最初为了吸引使用者,提出了一次编译到处运行。其实这都是基于JVM带来的便利,但是JVM的版本差异也会打破这个运行的模式。但是Docker真正的做到的一次构建到处运行。

三.Docker 基本组成

  • Docker守护进程,可以让应用在后台运行,也可以设置重启等
  • REST API 支持Restful 风格的Api
  • Docker Cli 操作Docker的客户端
  • Docker network 负责通信网络
  • Docker Container容器
  • 镜像(image)
  • 数据卷(data volumes)

四.命令总结:

docker ps 查看正在运行的容器

docker stop停止正在运行的容器

docker start启动容器

docker ps -a查看终止状态的容器

docker rm -f webserver命令来移除正在运行的容器

docker list 列出本地镜像

docker rmi 删除的镜像

docker rm 删除容器

docker info 查看配置信息

docker images ls 查看镜像

docker system df 查看本地的镜像信息

docker pull 拉取镜像

docker run -p 8080:8080 -d tomcat 运行tomcat 宿主机端口8080,容器端口8080 守护进程 -p 映射宿主机8080:到docker8080

docker exec -it 容器id 容器交互 和(tomcat等交互)

docker container prune 删除所有已停止的容器

docker build -t myshop . 构建镜像 .表示当前目录,上下文。当前目录下需要写一个 Dockerfile 打包 到Docker Server

tomcat404问题:docker exec -it 运行的tomcat容器ID /bin/bash 改名把webapps.dist

改成 webapps

命令: mv webapps.dist webapps mv weapps webapps2 真正的文件在webapps.dist

Dockerfile:

FROM tomcat:latest

COPY index.jsp /usr/local/tomcat/webapps.dist/ROOT
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐