在linux系统中安装完成docker后,我们开始进行docker的镜像、容器的使用。
在使用docker时,首先要明确的两个概念:image(镜像) 与 container (容器)
image:根据官网的解释,镜像是一个为容器提供服务的独立的文件系统,它包含独立运行所需要的文件与代码。
简单地说:镜像就是一个不包含linux内核而又精简的linux系统
docker 镜像默认存储在/var/lib/docker/<storage-driver>中,现在最新版本的linux系统的存储驱动一般是overlay2格式
container:容器其实是在镜像的最上层加了一层读写层,在容器运行中所作的任何配置,如启动不同的tomcat容器,
配置不同端口号,这些配置都保存在读写层不会修改镜像本身的内容。
首先:下载镜像
官方镜像中心仓库地址:https://hub.docker.com/search/?type=image
使用命令:docker pull $imageName ($imageName为具体镜像名字,如tomcat,nginx等)
第二步:根据镜像创建一个可运行的容器
以tomcat为例,使用
#下载最新的tomcat版本
docker pull tomcat 或 docker image pull tomcat
docker images #查看本地全部镜像
#以后台交互式窗口的方式运行tomcat镜像,并将容器命名为tomcat8080
#其中-itd为-i -t -d 三个命令的所写
#docker run :创建一个新的容器并运行一个命令
docker run -itd --name tomcat8080 tomcat
#查看当前运行的容器信息
docker ps
#删除容器的命令
docker rm -f $containerName #强制终止并删除容器
第三步:访问运行的tomcat,确认成果
docker pull $image
直接访问http://localhost:8080访问不成功
原因:因为tomcat8080容器相当于一个独立运行的虚拟机,其ip地址并不是本机的ip,因此我们首先需要确定容器使用的ip
docker inspect NAMES # 查看容器所有状态信息; docker inspect --format='{{.NetworkSettings.IPAddress}}' $ID / $NAMES # 查看 容器ip 地址 docker inspect --format '{{.Name}} {{.State.Running}}' NAMES # 容器运行状态
根据查询的ip地址,访问 http://container-ip:8080.
这一点,在tomcat镜像说明中,有介绍
资料参考:https://www.runoob.com/docker/docker-command-manual.html docker命令大全
https://cr.console.aliyun.com/cn-hangzhou/instances/images?search=tomcat 阿里云镜像中心
https://www.jianshu.com/p/65a5c8d9cb9a ubuntu配置jdk