一、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、网易云、阿里云 等,可以供大陆用户更稳当快捷的访问
二、Docker常用命令
1、帮助命令
docker versiondocker infodocker --help
2、镜像命令
docker search tomcat: 搜索某个镜像docker pull tomcat: 下载镜像到本地,等价于docker pull tomcat:latestdocker rmi tomcat: 删除某个镜像docker images:列出本地镜像
docker image -qa:显示全部镜像iddocker 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 .
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等