docker 简单使用
一 docker 简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
二 docker 优点
1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
三 安装
四 docker 使用
搜索镜像
docker search tomcat
参数说明:
name : 表示镜像名字。
description : 表示镜像描述。
stars : 表示关注的人数。
official : 表示是否是官方提供的镜像。
automated : 自动提交,表示是否是私人构建提交(不推荐使用,不安全),如果我们拉取下来运行会自动此镜像自动配置的参数。
1 查看当前镜像
docker images
2 拉去镜像(会去 官方的docker hub仓库拉取镜像 )
docker pull 镜像名:tag
拉取 tomcat
**docker pull tomcat**
不加:tag 表示(latest)默认拉取最新的tomcat版本
3 删除 镜像
docker rmi 镜像id
Error response from daemon: conflict: unable to delete 9b9cb95443b5 (must be forced) - image is being used by stopped container d1770f23e2bc
#当docker rmi命令后面跟的是镜像ID时,会尝试删除所有指向该镜像的标签,然后删除镜像文件本身,如果该镜像存在多个标签,默认无法删除,需要加-f进行删除。
#如果有基于该镜像创建的容器,则默认无法删除镜像,需要先通过docker rm删除容器,然后再用docker rmi删除镜像,或者使用docker rmi -f强制删除(不推荐)。
删除镜像时候,若出现此情况,需要先删除通过此镜像构建的容器,然后再删除镜像,如不想删除容器,可以 通过docker rmi image-id -f 强制删除此镜像!
docker rmi 镜像id -f 强制删除
2 容器操作
查看运行中的容器
docker ps
无镜像运行
运行tomcat 镜像
docker run -d -p 8080:8080 tomcat
8080:8080 表示 映射 本机端口到docker 容器端口8080
前提是防火墙8080端口打开
查看 容器
docker ps
names : 是容器名字(没指定自动生成)
container_id : 容器id
访问tomcat
同一个镜像启动多个tomcat
指定容器名字在启动两个!
查看
同一个镜像启动多个容器,每个容器互不干扰,极大的省略了资源。
查看docker 日志
docker logs docker容器id
停止容器
停止8888的tomcat 容器
docker stop 容器id
查看所有的容器
docker ps -a
exited 表示容器已经退出
所有的容器中没有了 外部端口是8888的tomcat
删除容器
docker rm 容器id
docker rm 98bd0f47bc1c
删除8888的容器,并且查看
注意:删除容器之前必须,先停止容器。会产生下面的错误
Error response from daemon: You cannot remove a running container 98bd0f47bc1c47f063b6d908e45b0b16fef15bb4e123b32a0b5d8039acdb34a7. Stop the container before attempting removal or force remove
官网文档基础常用的一些命令