Docker-2 Docker 命令,镜像原理,镜像commit
1. 帮助命令
docker version
docker info
docker --help
# 启动docker
systemctl start docker
# 重启docker
systemctl restart docker
# 关闭docker
systemctl stop docker
2. 镜像命令
# 列出本地镜像
docker images
# 列出本地镜像(含中间层)
docker images -a
# 列出镜像的image id
docker images -q
# 列出所有镜像的image id
docker images -qa
# 列出镜像及摘要信息
docker images --digests
# 列出完整的镜像信息
docker images --no-trunc
# 搜索镜像(https://hub.docker.com)
docker search 镜像名称
# 下载镜像
docker pull 镜像名称
# 下载特定版本镜像
docker pull 镜像名称:tag
# 删除镜像(运行中的镜像无法删除)
docker rmi 镜像名称[:tag]
# 删除镜像(强制删除,运行中的镜像也可以删掉)
docker rmi -f 镜像名称[:tag]
# 删除多个镜像
docker rmi -f 镜像1 镜像2
# 删除全部镜像
docker rmi -f $(docker images -qa)
3. 容器命令
1. 下载centos镜像
docker pull centos
2. 新建并运行centos容器
docker run -it --name mycentos centos
--name "容器新名字":为容器指定一个名称;
-d:后台运行容器,并返回容器ID,即启动守护式容器;
-i:以交互模式运行容器,通常与-t同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
3. 查看docker中启动的容器
docker ps
4. 退出容器
exit:退出并停止容器
ctrl+p+q:退出不停止容器
5. 启动容器
docker start 容器ID
6. 重启容器
docker restart 容器ID
7. 停止容器
docker stop 容器ID
8. 强制关闭容器
docker kill 容器ID
9. 删除已停止的容器
docker rm -f 容器ID
10. 一次性删除所有容器
docker rm -f $(docker ps -aq)
注意:使用docker run -d centos后台运行容器后,再使用docker ps -a查看容器,会发现容器已经退出。是因为Docker容器后台运行,就必须要有一个前台进程
# 查看容器日志
docker logs -f -t --tail 10 容器ID
-t是加入时间戳
-f是跟随最新的日志打印
--tail显示最后多少条日志
# 查看容器内运行的进程
docker top 容器ID
# 查看容器内部细节
docker inspect 容器ID
# 使用ctrl+P+Q退出容器后,重新进入容器
docker attach 容器ID
# 使用ctrl+P+Q推出容器后,还想要在本机环境执行容器命令(无需进入容器)
docker exec -t 容器ID 容器内需要运行的命令
# 将容器内的文件拷贝到本机
docker cp 容器ID:容器内文件地址 本机目标路径
4. 镜像原理
-
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件。
-
docker镜像是由一层一层文件系统组成。
-
为什么docker要采取分层镜像?
好处:共享资源
例如:有多个ing想都从相同的base镜像构建而来,那么宿主机只需要在磁盘上保存一份base镜像,同时内存中也只需加载一份base镜像,就可以为所有容器服务。而且镜像的每一层都可以被共享。
-
Docker镜像都是只读的。当容器启动时,一个新的可写层被加载到镜像的顶部,这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
5. 镜像commit
docker commit提交容器副本,使之成为一个新的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
docker images tomcat
docker run -it -p 8888:8080 tomcat
-p 端口映射,对外暴露的端口是8888,tomcat实际端口是8080
-P 端口映射,随机端口
# 个性化修改后,commit
docker commit -a="Damon" -m="Personal tomcat" 容器ID myimages/mytomcat:1.0