Docker简介
Docker是一个开源的容器引擎,它有助于更快的交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当做程序一样进行管理。可以更快的进行打包,测试以及部署应用程序,缩短从编写到部署运行代码的周期
Docker架构
Docker daemon(Docker 守护进程):
Docker client(Docker 客户端): 用户界面,接受Docker命令以及配置标识,与Docker daemon(Docker 守护进程)进行通信
Docker registry: 是集中存储(Storage)和分发(Distribute)Docker Images的服务,一个Docker registry可以包含多个Docker仓库,每个仓库(Repository)可以包含多个镜像标签,每个镜像标签代表一个Docker镜像,公有Docker Registry,私有Docker Registry,例如Docker Hub
Docker container(Docker 容器): Docker container是Image 的可运行实例,类似面向对象中对象(Object )和类(Class)的关系
Docker Image(Doker 镜像): Doker Image是一个只读模板,它包含创建Docker containers的说明
Docker常用命令
Docker Image常用命令
docker search
搜索存放在Docker Hub的镜像
docker search java
在Docker Hub 中搜索包含java关键字的Docker Image
docker pull java
在Docker Registry中下载java镜像
docker pull reg.itmuch.com/java:7
从指定的Docker Registry中下载标签为7的java镜像
docker images
列出已经下载的镜像
docker rmi hello_word
删除指定名称的镜像
docker rmi -f $(docker images)
删除所有的镜像,-f表示强制删除
Docker容器常用命令
docker run
新建并启动一个容器,先检查本地是否存在指定的镜像,如果不存在,Docker就会自动从Docker Hub下载镜像并启动一个Docker容器
-d 表示后台运行
-p 随机端口映射
-p -ip:hostPort:containerPort -ip::containerPort -hostport:containerPort -containerPort
--network选项:表示指定网络模式。。。。。。。。。。。。。
docker ps
fd
列出运行中的容器
docker stop 784fd3b294d7
停止容器,784fd3b294d7是容器ID
docker kill 784fd3b294d7
强制停止容器
docker start 784fd3b294d7
启动以停止的容器
docker restart 784fd3b294d7
重启容器
docker attach 784fd3b294d7
进入运行中的容器
docker inspect --format"{{.State.Pid}}" $CONTAINER_ID
获取PID
nsenter --target "$PID" --mount --uts --ipc --net --pid
使用nsenter进入容器
docker rm 784fd3b294d7
删除指定容器,只能删除已经停止的容器,要删除正在运行的容器 使用-f参数
docker rm -f $(docker ps -a -q)
删除所有容器