docker使用管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker使用管理相关的知识,希望对你有一定的参考价值。
- 容器生命周期
- docker命令获取帮助
- docker的常用命令
- docker基本操作
- 镜像管理
-
容器生命周期
运行容器一个实例:
#docker run -it --rm --name bbox busybox:latest /bin/sh
当运行这条指令后的执行流程步骤:
1.检查本地是否存在指定的镜像,不存在则从registry下载;
2.利用镜像启动容器
3.分配一个文件系统,并且在只读的镜像层之外挂载一个可读写层;
4.从宿主机配置的网桥接口桥接一个虚拟接口给此容器;
5.从地址池中分配一个地址给容器;
6.执行用户指定的应用程序;
7.程序执行完成后,容器即终止
注意:容器是为任务而生,任务完成即销毁,释放资源。为单一任务(进程)设计 -
docker命令获取帮助
man ,docker --help...
用法:docker [OPTIONS] COMMAND
docker COMMAND --help 获取单个指令的详细用法 -
docker的常用命令
环境信息相关:
info
version :查看当前安装版本信息
系统维护相关:
images :查看本地镜像
inspect:查看docker对象的详细信息,json格式
build:构建镜像
commit :基于已有容器创建镜像
pause/unpause :暂停(恢复)当前运行容器
ps:查看当前在运行的容器
rm :删除 docker ps -qa |xargs docker rm -f
rmi :删除镜像 docker images -qa |xargs docker rmi 删除 所有镜像
run:运行容器
start/stop/restart:启动、停止、重启容器
top:用于查看正在运行的容器中的进程的运行状态
kill:终止当前运行的某个容器
...
日志信息相关:
events
history
logs:查看容器运行日志
Docker hub服务相关:
login:登录仓库
logout
pull:从仓库拉取镜像到本地
push:将镜像推送至某仓库
search:搜索镜像 -
基本操作:
- 启动一个nginx容器,使其在后台运行并将其80端口映射到宿主机8080端口
docker run -d -p 8080:80 httpd
docker run常用选项:
-t:配置一个伪终端并绑定到容器的标准输入上
-i:让容器的标准输入保持打开
-d:将容器放入后台运行
-c:指定分配该容器的cpu分片
-m:指定分配给该容器的内存大小,单位为B,K,M,G
--name:为容器分配指定名称
--rm:当容器退出时自动删除容器[[email protected] ~]# docker run -it --rm alpine:latest /bin/ls bin etc lib mnt root sbin sys usr dev home media proc run srv tmp var [[email protected] ~]# docker run -it alpine:latest /bin/ls bin etc lib mnt root sbin sys usr dev home media proc run srv tmp var [[email protected] ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME S49aedd5aca20 alpine:latest "/bin/ls" 10 seconds ago Exited (0) 8 seconds ago joll y_goldwasser
- 把容器运行在前台:启动一个alpine容器输出 hello world,打印完即退出
[[email protected] ~]# docker run --rm alpine:latest /bin/echo "hello woeld"<br/>hello woeld<br/>
- 容器运行在后台:
docker run -d alpine:latest /bin/sh -c "while true; do echo hello world; sleep 1;done"
服务类容器需要长期运行,所以使用daemon的方式运行;而工作类环境通常是给我们提供一个临时的工作环境,所以一般以run –ti的方式在前台运行
- 查看当前节点上的容器状态
docker ps #查看当前正在运行的容器
选项:
-a:查看所有容器,包括停止的
-q:只显示容器ID
-l:显示最后一次创建的容器`
- 启动一个nginx容器,使其在后台运行并将其80端口映射到宿主机8080端口
-
镜像管理操作
- 获取镜像
docker pull name:tag #镜像直接从官方网站下载
docker pull xuetong.com:5000/centos:6.6 #从指定仓库下载 - 查看镜像
docker images
docker inspect centos:latest #获取镜像的详细信息 - 镜像打标签
docker tag centos:latest xuetong.com:5000/centos:6.6 - 搜索镜像
docker search NAME:tag
建议直接到官方网站搜索:https://hub.docker.com/explore/ - 镜像导入导出
docker save -o /PATH/TO/SOMEFILE.TAR NAME[:TAG] docker load -i /PATH/FROM/SOMEFILE.TAR docker image load -i /root/centos-latest.tar.xz
- 删除镜像
docker rmi name:tag
如果一个镜像有多个tag,只会删除指定的tag,镜像本身不会删除,如果docker rmi后指定镜像ID,则所有tag都会被删除 - 创建镜像:commit(根据现有镜像创建),不建议使用这种方法,无获取构建过程,建议使用dockerfile构建。
- 获取镜像
以上是关于docker使用管理的主要内容,如果未能解决你的问题,请参考以下文章