1、容器
1、什么是容器?
用镜像启动的一个对外可以提供服务的进程即为容器。
1、容器的本质是进程
2、容器是由镜像创建的,跟镜像中保存的内容完全一致。
3、容器与容器之间是完全隔离的(可以理解为国中之国)
4、每一个容器都需要做的是尽量保持自己的体积足够的小。
2、容器的生命周期
容器之内必须至少有一个进程运行在前台。如果一个进程都没有的话,那么此容器就相当于完成了它的声明周期。
3、容器的基本使用
0、查看本机容器列表
docker ps # 查看本机容器列表
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
容器的ID 镜像 容器的启动命令 容器的创建时间 容器的状态 容器的端口 容器的名称
STATUS:
UP : 启动状态
Exited : 停止状态
Created : 容器已经创建,当时没有启动
参数:
-a : 查看系统上所有的容器(包含未启动)
-q : 只显示容器ID
1、创建容器
docker run # docker run是创建并启动容器
docker create # docker create是创建容器
docker create 中的参数跟 docker run 类似 主要其本身的功能不同。
docker run
格式:
docker run [参数] 镜像 [启动命令]
参数和启动命令可以省略。
容器的启动流程:
①:查看本地是否存在正在使用的镜像。
②:如果本地不存在使用的镜像,则去仓库下载
③:根据镜像来启动容器
参数:
-d : 以守护进程方式运行容器。
--name : 自定义容器的名称
[root@docker ~]# docker run -d --name nginx nginx
-p : 指定一个端口映射
-P :随机一个端口映射
-i : 打开标准输出
-t :创建一个终端
-e :在容器内部增加一个环境变量
-h : 指定一个主机名(默认的主机名是容器的缩写版ID )
-v : 指定一个挂载卷(将宿主主机的目录挂载到容器内,从而实现文件互通)
--network : 链接一个网桥
--link : 链接一个容器
在宿主主机上执行一个容器内部的命令
docker exec [容器的ID或名称] [需要在容器内部执行的名]
docker exec centos3 printenv
启动一个容器
docker start [容器的名称|ID]
[root@docker opt]# docker start centos6