二、Docker的快速部署及常用指令

Docker是容器化平台

  • Docker是提供应用打包,部署和运行应用的容器化平台
    二、Docker的快速部署及常用指令

Docker体系结构

二、Docker的快速部署及常用指令

客户端通过REST API发送请求指令给服务端,请求方式是http协议,兼容性和扩展性很好。
c/s架构,服务器和客户端可以不用安装在一台电脑,客户端通过发送请求可以管理多台服务器,服务端复制镜像的拉取和执行。

容器与镜像

  • 镜像:镜像是只读的文件,提供了运行程序完整的软件资源和硬件要求,是应用程序的“集装箱”(windows系统镜像)
  • 容器:是镜像的实例,由Docker负责创建,容器之间彼此隔离。(安装好的动态windows实例)

Docker执行流程

二、Docker的快速部署及常用指令

  • Client:发送命令
  • DOCKER_HOST:接收并处理命令
  • Registry:注册中心提供镜像的下载

Docker的常用命令

  • docker pull 镜像名<:tags>:从远程仓库拉取镜像,tags代表镜像的版本,不指定默认拉取最新版本
  • docker images :查看本地存在的镜像
  • docker run 镜像名<:tags>:创建容器,启动应用。如果本地没有指定镜像,docker会先去远程仓库拉取默认版本镜像,然后执行。
  • docker ps:查看正在运行中的镜像
  • docker rm <-f> 容器id:删除容器。如果容器正常运行,需要加-f,可以进行强制删除。
  • docker rmi <-f> 镜像名<:tags>:删除镜像。加上<:tags>,删除指定版本的镜像。<-f>指定镜像已存在创建好的容器,也直接删除。

Docker宿主与容器通信

二、Docker的快速部署及常用指令

实现外部访问,需要将docker容器的端口与宿主机的端口进行映射。客户端可以不关注容器内部实现,只进行对应端口访问。

创建Tomcat容器

1.拉取tomcat镜像:docker pull tomcat
二、Docker的快速部署及常用指令

2.查看本地存在的镜像:docker images
二、Docker的快速部署及常用指令

3.创建tomcat容器,并启动:docker run -p 8000:8080 -d tomcat
二、Docker的快速部署及常用指令

  • -p 8000:8080:表示将容器的8080端口映射到宿主机的8000端口
  • -d:表示后台运行

4.查看应用端口号:netstat -tulpn
二、Docker的快速部署及常用指令

5.查看运行中的容器信息:docker ps
二、Docker的快速部署及常用指令

6.访问tomcat:访问失败
二、Docker的快速部署及常用指令

7.查看虚拟机防火墙设置:

  • 查看防火墙状态:service firewalls status
    二、Docker的快速部署及常用指令

  • 关闭防火墙: systemctl stop firewalld.service

  • 禁止防火墙开机启动: systemctl disable firewalld.service

  • 启动docker: systemctl start docker
    二、Docker的快速部署及常用指令

  • 重启docker: systemctl restart docker
    二、Docker的快速部署及常用指令

  • 开启防火墙可用:systemctl enable firewalld.service

  • 开启防火墙:systemctl start firewalld.service
    二、Docker的快速部署及常用指令

8.关闭防火墙后,浏览器访问tomcat:
二、Docker的快速部署及常用指令

9.进入服务器内部:docker exec -it 5ddbee06ad1e /bin/bash

二、Docker的快速部署及常用指令

10.进入webapps目录,查看无内容,复制webapps.dist目录下内容到webapps目录:cp -r webapps.dist/. webapps

二、Docker的快速部署及常用指令

11.浏览器访问tomcat:
二、Docker的快速部署及常用指令

12.删除容器:docker rm d49bbb726ce4
二、Docker的快速部署及常用指令

建议先停止容器运行,再删除容器。如果想强制删除,加上-f参数,容易出现其他问题。

13.删除镜像:docker rmi hello-world
二、Docker的快速部署及常用指令

如果此镜像有正在运行的容器,建议先暂停容器,然后删除容器,最后删除镜像。-f 强制删除,容易产生意料之外的问题。

tomcat容器内部结构

二、Docker的快速部署及常用指令

容器内部底层是一个mini的linux操作系统,只保证最基本的功能,占用资源非常小。

在容器中执行命令

  • 进入容器:docker exec -it 5ddbee06ad1e /bin/bash
    格式:docker exec [-it] 容器id 命令
    exec : 表示在对应容器中执行命令
    -it :采用交互式方式执行命令
    5ddbee06ad1e :容器id
    /bin/bash :开启接收命令的终端窗口
    二、Docker的快速部署及常用指令

  • 查看系统版本:cat /proc/version

  • 查看java版本:java -version
    二、Docker的快速部署及常用指令

  • 退出容器:exit
    二、Docker的快速部署及常用指令

  • Docker在宿主机中的目录:cd /var/lib/docker
    二、Docker的快速部署及常用指令

容器的生命周期

二、Docker的快速部署及常用指令

  • 创建容器:docker create tomcat
    二、Docker的快速部署及常用指令

docker ps:查看正在运行的容器
docker ps -a :查看所有容器

  • 启动容器:docker start 62688ff10d4b
    二、Docker的快速部署及常用指令

  • 挂起容器:docker pause 62688ff10d4b

二、Docker的快速部署及常用指令

  • 恢复运行:docker unpause 62688ff10d4b
    二、Docker的快速部署及常用指令

  • 暂停(退出)容器:docker stop 62688ff10d4b

二、Docker的快速部署及常用指令

  • 重新启动容器:docker start 62688ff10d4b

二、Docker的快速部署及常用指令

  • kill容器:docker kill 26c0fe766785

二、Docker的快速部署及常用指令

  • 删除容器:docker rm -f 62688ff10d4b

二、Docker的快速部署及常用指令

  • 容器内存溢出:kill容器,检查是否重启:是返回start状态,否变为stop状态。

Docker常用地址

  • 远程仓库地址:https://hub.docker.com/

相关文章: