Docker-2 Docker 命令,镜像原理,镜像commit

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. 镜像原理

  1. 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件。

  2. docker镜像是由一层一层文件系统组成。

  3. 为什么docker要采取分层镜像?

    好处:共享资源

    例如:有多个ing想都从相同的base镜像构建而来,那么宿主机只需要在磁盘上保存一份base镜像,同时内存中也只需加载一份base镜像,就可以为所有容器服务。而且镜像的每一层都可以被共享。

  4. 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值