Docker 镜像与容器

 

镜像和容器的区别

 

镜像有分层堆叠的概念,每一层(layer)都是一个只读的层。

容器也有分层堆叠的概念,与镜像的唯一区别在于容器的最上面的那一层是可读写的。

所以,容器 = 镜像 + 读写层。

 

 

镜像的使用

 

1.查询镜像

[root@docker ~]# docker search nginx

2.获取镜像

[root@docker ~]# docker pull nginx

3.查看镜像

[root@docker ~]# docker images

4.删除镜像

[root@docker ~]# docker image rm nginx

5.镜像历史

[root@docker ~]# docker history nginx:latest

6.查看镜像元数据信息

[root@docker ~]# docker inspect nginx:latest

 

操作容器

 

1.新建并启动容器

[root@docker ~]# docker run --name nginxweb -d -p 9527:80 -v /home/nginx:/etc/nginx -v /home/nginx/html:/usr/share/nginx/html nginx

参数
--name  容器名字
-d      后台运行
-p      端口映射
-v      文件挂载

2.新建一个容器但不启动它

[root@docker ~]# docker create --name nginxweb -d -p 9527:80 -v /home/nginx:/etc/nginx -v /home/nginx/html:/usr/share/nginx/html nginx

3.开始一个终止状态的容器

[root@docker ~]# docker start nginxweb

4.停止一个运行状态的容器

[root@docker ~]# docker stop nginxweb

5.查看所有运行状态的容器

[root@docker ~]# docker ps

6.查看所有运行状态以及终止状态的容器

[root@docker ~]# docker ps -a

7.删除容器

[root@docker ~]# docker rm nginxweb

8.进入容器

[root@docker ~]# docker attach nginxweb
[root@docker ~]# docker exec -it nginxweb /bin/bash

这两个命令都可进入容器,区别:attach进入容器后再退出容器,容器会终止运行
建议使用 docker exec -it 的方式进入容器

 9.查看容器内文件变动情况

[root@docker ~]# docker diff nginxweb

10.复制文件

[root@docker ~]# docker cp 容器id:路径 ./

11.查看所有运行容器的IP地址

[root@docker ~]# docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q)

 

 

镜像的导入与导出

 

1.容器导出(export)、导入(import)

[root@docker ~]# docker export nginxweb > nginxweb.tar
[root@docker ~]# docker import nginxweb.tar nginx:bak

2.镜像导出(save)、导入(load)

[root@docker ~]# docker save > nginx.tar nginx:latest
[root@docker ~]# docker load < nginx.tar 

3.两者区别:

export是从容器中导出,save是从镜像中导出;

export导出的文件再import回去,会丢失镜像历史,无法回滚;而save导出的文件再load回去时,可以保存完整的镜像历史。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值