docker:build ==> ship ==>run ==> any app ==> any where
镜像:就是一个只读的模板,镜像可以用来创建容器,一个镜像可以创建很多个容器
容器:独立运行的一个或一组应用,容器是用镜像创建的运行实例
它可以被启动,开始,停止,删除,每个容器都是互相隔离的,保证安全的平台
可以把容器看作是一个简易版的linux环境和运行在其中的应用程序(包括root用户权限,进程空间,用户空间,网络空间)
容器的定义和镜像几乎一模一样,也是一堆层的统一视角唯一区别在于容器的最上面那一层是可读可写的
仓库:集中存放镜像文件的场所
仓库和仓库注册服务器是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库又包含了多个镜像,每个镜像有不同的标签
仓库分为公开仓库和私有仓库
最大的公开仓库是docker hub(https://hub.docker.com/)
存放了数量庞大的镜像供用户下载,国内公开的仓库包括阿里云,网易云
把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件,只有通过这个镜像文件才能生成docker容器,image文件可以看做是容器的模板,docker根据image文件生成容器的实例,同一个image文件,可以生成多个同时运行的容器实例
image文件称为镜像文件
仓库就是放了一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了
阿里云镜像加速:daemon.json:
{ "registry-mirrors": ["https://xdie9azi.mirror.aliyuncs.com"] }
docker命令:
帮助命令:
docker version
docker info docker信息
docker --help
镜像命令:
docker images 本地镜像模板
-a 列出本地所有的镜像(含中间映像层)
-q 镜像id
-digests 摘要信息
-no-trunc 完整镜像信息
docker search 镜像名 网站:www.hub.docker.com查镜像
docker search -s 30 tomcat 点赞数大于30
docker pull 镜像名 下载镜像
docker pull tomcat
docker rmi -f hello-world 删除镜像
docker rmi -f hello-world nginx 删除多个镜像
docker rmi -f $(docker images -qa) 删除所有镜像
容器命令:
docker run -it hello-world 新建并启动容器
docker run -d centos 后台运行
docker ps 查看docker 所有的进程
退出容器:
exit 关闭容器并退出
ctrl+p+q 不关闭容器退出
docker start 容器名或id 开启容器
docker restart 容器名或id 重启容器
docker stop 容器名或id 停止容器
docker kill 容器名或id 强行停止容器
docker rm 容器名或id 删除容器
docker rm -f $(docker ps -qa) 删除所有容器
查看容器日志:
docker logs -f -t --tail 容器id
查看容器内的运行的进程:
docker top 容器id
查看容器内部细节:
docker inspect 容器id
重新进入当前正在运行的容器:
docker attach 容器id
从容器内拷贝文件到主机:
docker cp 容器id:/tep/yy.log /root
常用命令总结: