目录
1.帮助启动类命令
systemctl start docker:启动docker
systemctl stop docker:停止docker
systemctl restart docker:重启docker
systemctl status docker:查看docker状态
systemctl enable docker:开机启动
docker info:查看docker概要信息
docker --help:查看docker总体帮助文档
docker 具体命令 --help:查看docker命令帮助文档
2.镜像命令
docker images:列出本地主机上的镜像
OPTIONS说明:
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID
docker search [OPTIONS] 镜像名字:查找
OPTIONS说明:
--limit : 只列出N个镜像,默认25个
eg:docker search --limit 5 redis
docker pull 镜像名字[:TAG]:下载镜像
docker system df: 查看镜像/容器/数据卷所占的空间
docker rmi -f 某个XXX镜像名字ID:删除镜像
3.容器命令
有镜像才能创建容器,这是根本前提
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]:新建 + 启动容器
OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字" 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
eg: docker run -it centos /bin/bash
docker ps [OPTIONS]:列出当前所有正在运行的容器
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器
-n:显示最近n个创建的容器
-q :静默模式,只显示容器编号
exit:run进去容器,exit退出,容器停止
ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止
docker start 容器ID或者容器名:启动已停止运行的容器
docker restart 容器ID或者容器名:重启容器
docker stop 容器ID或者容器名:停止容器
docker kill 容器ID或容器名:强制停止容器
docker rm -f 容器ID:删除已停止的容器
docker logs 容器ID:查看容器日志
docker top:查看容器内运行的进程
docker inspect 容器ID:容器ID查看容器内部细节
docker exec -it 容器ID /bin/bash:进入正在运行的容器并以命令行交互
exec是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止
docker attach 容器ID:重新进入容器
attach直接进入容器启动命令的终端,不会启动新的进程 用exit退出,会导致容器的停止
docker cp 容器ID:容器内路径 目的主机路径:从容器内拷贝文件到主机上
docker export 容器ID > 文件名.tar:导出容器
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号:导入容器
4.Docker镜像commit操作
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
5.本地镜像发布到阿里云
访问阿里云官网,直接复制命令
6.本地镜像发布到私有库
6.1.下载镜像 Docker Registry
docker pull registry
6.2.运行私有库,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调
6.3.查看私有库上有什么镜像
curl -XGET http://Host:Port/v2/_catalog
6.4.将新镜像 修改符合私服规范的Tag
docker tag 镜像:Tag Host:Port/Repository:Tag
eg:docker tag zzyyubuntu:1.2 192.168.111.162:5000/zzyyubuntu:1.2
6.5.修改配置文件使之支持http
6.6.push到私服库
docker push 192.168.111.162:5000/zzyyubuntu:1.2
6.7.pull到本地并运行
docker pull 192.168.111.162:5000/zzyyubuntu:1.2
7.Docker容器数据卷
7.1.特点
容器卷记得加入 --privileged=true
使用容器数据卷是为了数据的持久化
特点:
1)数据卷可在容器之间共享或重用数据
2)卷中的更改可以直接实时生效
3)数据卷中的更改不会包含在镜像的更新中
4)数据卷的生命周期一直持续到没有容器使用它为止
7.2.实例
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
eg: docker run -it --name myu3 --privileged=true -v /tmp/myHostData:/tmp/myDockerData ubuntu /bin/bash
7.3.读写规则映射添加说明
默认是rw
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
7.4.卷的继承和共享
docker run -it --privileged=true --volumes-from 父类 --name u2 ubuntu