docker的镜像文件作用就是:提供container运行的文件系统层级关系(基于AUFS实现),所依赖的库文件、已经配置文件等等。

  • 安装docker
yum install -y docker
  • 启动docker
systemctl start docker
  • 获取docker使用帮助
docker --help
  • 获取centos 镜像
1:查看
docker search centos
 
2:获取
docker pull centos
  • 获取busybox镜像
1:查看
docker search busybox
 
2:获取
docker pull busybox
  • 查看本地镜像
[root@7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/busybox latest 54511612f1c4 4 weeks ago 1.129 MB
  • 运行镜像文件,启动一个虚拟用户空间也就是虚拟container
1:使用docker run命令运行一个镜像文件
 
 
2:docker run命令的使用格式
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
 
 
3:运行centos镜像文件,运行/bin/bash命令
docker run -it -h uplooking centos:latest /bin/bash(kill的时候不会删除容器,-h 指定容器的主机名)
docker run -it --rm centos:latest /bin/bash(kill的时候会删除容器,以及删除volume)
 
①:登入到centos容器,先安装net-tools,会发现有IP,且网络连接模型为NAT模型
②:在宿主机上,执行ifconfig命令,可以看到多了一个docker0的NAT桥,和一个vethbf0e0dd的虚拟网卡设备,可以使用 brctl show 命令查看
③:删除或停止一个container
docker kill containerID号(docker ps 可以查看到每一个container的ID号)
注意:但是此容器并没有删除,而是停止了,可以使用docker ps -a命令看到容器依然存在。可以使用docker rm containerID号删除
 
 
4:查看docker运行的容器
docker ps
  • Docker常用命令介绍
容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]
容器运行系统参数 — docker [ps|inspect|top|attach|events|logs|wait|export|port]
容器rootfs管理 — docker [commit|cp|diff]
镜像仓库管理 — docker [login|pull|push|search]
本地镜像管理 — docker [images|rmi|tag|build|history|save|import]
运行环境参数 — docker [info|version]
 
1:列出机器上的镜像
docker images
 
2:在docker中搜索可用镜像
docker search centos
 
3:从docker registry 中下拉镜像或repository
# 拉取最新版本的centos镜像
docker pull centos
# 拉取指定版本的centos镜像
docker pull centos:centos6
 
4:从image启动一个container,-m 指明最大的内存使用率,--cpuset-cpus 指明只能使用哪些CPU
docker run -it -m 64MB --cpuset-cpus 0 centos:latest /bin/bash
 
5:删除或停止一个container
docker kill 72ce30263126
docker rm 72ce30263126
 
6:将一个container固化为一个新的image,其中0e9a810a29a5为容器的id号,此时容器正在运行
docker commit 0e9a810a29a5 helllo:yhy
 
7:登入dockerhub(需要先注册https://hub.docker.com)
docker login
 
8:推送一个镜像或repository到registry
docker tag centos yhyblog/centos:7.2 (必须先给镜像打标签,在推送)
docker push yhyblog/centos (再推送)
 
docker tag helllo:yhy yhyblog/centos:hello (使用带版本号的镜像,给远端仓库先打标签)
docker push yhyblog/centos:hello (再推送)
 
9:删除本地docker镜像
docker rmi 镜像ID号
例如:docker rmi 4b90b5603d01
 
10:启动容器
①:创建一个新容器,且启动,-d表示后台运行,--name给容器取名,
docker run -d hub.c.163.com/public/lamp:latest
docker stop 9ef19b288a4c(也可以使用容器的名字停止容器)
②:启动一个停止的容器
docker start 9ef19b288a4c
 
11:连接到这个正在运行的终端
docker attach 9ef19b288a4c
 
12:在容器外查看容器输出的信息
docker logs 9ef19b288a4c
 
13:查看容器状态信息,uplooking-home为容器的名称
docker stats uplooking-home
 
14:查看容器的详细信息,-f 指明获取这个键对应的值,Name是一个键
docker inspect -f {{.Name}} uplooking
 
13:Docker 容器支持的网络模型
①:bridge 模型(其实这是NAT模型,因为bridge0是nat桥)
②:host 模型(使用宿主机的网络名称空间)
③:container 模型(类似与隔离模型)
④:none 模型(不配置网络)
04-16 14:20