第2节 Docker 基本概念和操作

283 阅读2分钟

一、Docker核心概念

Docker包含四个基本概念:

1、 镜像(Image)

它是一个只读文件,是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时需要的库、环境变量和配置等

2、容器(Container)

用镜像创建的运行实例,由Docker创建,容器之间彼此隔离。可以把容器看成是一个简易版的 Linux 环境

3、仓库注册中心(Registry)和 仓库(Repository)

Registry 是集中存放镜像文件的场所;Repository 是对于其中的镜像进行分类管理。一个 Registry 中会有多个 Repository;一个 Repository 中会有多个不同 tag 的 Image。比如名称为 CentOS 的 Repository 仓库下,有 tag 为 6 或者 7 的 Image 镜像。

Registry 分为公有(public)和私有(private)两种形式。

  • 最大的公有 Registry 是 Docker Hub,存放了数量庞大的镜像供用户下载使用
  • 国内的公开 Registry 包括 USTC、网易云、阿里云 等,可以供大陆用户更稳当快捷的访问

image.png

二、Docker常用命令

1、帮助命令

  • docker version
  • docker info
  • docker --help

2、镜像命令

  • docker search tomcat : 搜索某个镜像
  • docker pull tomcat : 下载镜像到本地,等价于docker pull tomcat:latest
  • docker rmi tomcat : 删除某个镜像 
  • docker images :列出本地镜像
  • docker image -qa :显示全部镜像id
  • docker images --digests : 显示镜像简介信息
  • docker images --digests --no-trunc
  • docker rmi tomcat:6.5 : 删除制定版本镜像
  • docker rmi -f tomcat : 强制删除镜像
  • docker rmi -f nginx tomcat : 强制删除多个镜像
  • docker rmi -f ${docker images -qa} : 强制删除全部

3、容器命令

(1)启动容器命令

docker run [options] tomcat , 该命令用于启动容器,启动时有很多启动项需要设置

  • --name=容器新名字:为容器指定一个名字
  • -i : 以交互模式运行容器,通常与 -t 同时使用
  • -t : 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -d : 后台运行容器
  • -p : 制定映射端口,格式为:宿主机端口:容器端口

docker run -it -p 8080:8080 tomcat(-p 暴露给宿主机端口:docker容器端口)

为什么要映射端口?如果不映射端口,客户端是无法直接与容器进行通信的

宿主机浏览器输入访问 http://localhost:8080 访问 tomcat ,如果出现访问首页出现404错误,可通过这篇博客解决:cloud.tencent.com/developer/a…

  • -v : 绑定一个卷

docker run -it -p 8080:8080 -v /data:/data -d tomcat:以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,将宿主机目录 /data 映射到容器的 /data 目录。

(2)其他常用命令

  • docker ps :查看所有正在运行的容器
  • docker stop :停止正在运行的容器
  • docker restart :重新启动停止的容器
  • docker kill :杀掉一个运行中的容器
  • docker rm  :删除容器
  • docker rm -f $(docker ps -qa) :删除全部容器
  • docker exec -it 容器名称/容器ID /bin/bash :进入到启动的容器内部
  • docker logs -f 容器名称/容器ID:查看启动的容器的日志
  • docker container ls -a | grep tomcat :查看所有的的容器启动的历史记录
  • docker build -t example/centos:1.0 . :构建指定名称的镜像,此时执行命令时必须在Dockerfile文件同目录下执行
  • docker build -f /usr/local/docker/Dockerfile . :直接通过Dockerfile文件进行构建,比如命令: docker build -t dafei/docker_cmd:1.0 -f /Users/project/docker-example/dockerfile-02/Dockerfile .

image.png

4、开发人员常用命令

  • docker exec -it 容器名称/容器ID /bin/bash :进入到启动的容器内部

  • docker logs -f 容器名称/容器ID:查看启动的容器的日志

  • docker container ls -a | grep tomcat :查看所有的的容器启动的历史记录

  • docker container restart 容器名称/容器ID:重新启动容器

  • docker ps -a 或者 docker container ls -a:查看所有容器历史记录

  • docker inspect 容器ID:查看容器信息,比如容器虚拟IP等