工作中看到交接文档中有两串docker run…开头的命令,虽然知道这是用docker运行了一个容器,但是后面一串的参数让我一脸懵逼,于是想了解一下这些参数都是写什么意思,于是有了这篇博客。
一个新技术的产生,肯定是解决了一个之前的技术没有解决的问题。docker带给我们的这种容器化技术,在我看了几篇博客加上我自己平时的工作经验来理解的话,大概是这样:在没有docker的容器化技术之前,当要部署一个集群环境的时候,可能需要人为的给每一台机器安装各种各样的环境,java,mysql,redis…等等,但是docker的容器化出来之后,安装java可以用一个容器来实现,安装mysql可以用一个容器来实现,最后就可以只给每台环境安装一个docker,然后拿着一个docker file去机器上运行一次,这些冗杂的环境就安装好了。最开始学java的时候,java里面有一句话是build once,run anywhere,docker给我的感觉就是安装一次,到处运行,有点异曲同工之妙。
言归正传,下面罗列一些常见的docker命令(抄别人博客的),加深一下印象,顺便水一篇博客。
拉取镜像:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
NAME:镜像名称。
TAG:镜像标签(默认为 latest)。
@DIGEST:镜像的内容地址。
–all-tags,-a:拉取仓库中的所有标签。
–disable-content-trust:忽略镜像验证 (默认开启)。
–platform:设置平台(例如,linux/amd64)。
查看镜像:
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a,–all:显示所有镜像(默认隐藏中间层)。
–digests:显示镜像摘要。
-f,–filter:根据条件过滤显示内容。
–format:指定返回值的格式。
–no-trunc:显示完整的镜像信息。
REPOSITORY:仓库名称。
TAG:镜像标签。
删除镜像:
docker rmi [OPTIONS] IMAGE [IMAGE...]
IMAGE:镜像 ID 或名称。
-f,–force:强制删除镜像。
–no-prune:不要删除悬空的父镜像。
运行容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d,–detach:后台运行容器并返回容器 ID。
-i,–interactive:保持标准输入打开。
-t,–tty:分配一个伪终端。
–name:为容器指定名称。
-p,–publish:映射端口(格式:hostPort:containerPort)。
-P,–publish-all:随机映射所有端口。
-v,–volume:绑定挂载一个卷。
–rm:容器停止后自动删除。
-e,–env:设置环境变量。
–env-file:从文件读取环境变量。
–network:连接到指定网络。
–restart:容器重启策略(如:no, on-failure, always, unless-stopped)。
查看容器:
docker ps [OPTIONS]
-a,–all:显示所有容器(默认只显示运行中的容器)。
-q,–quiet:只显示容器 ID。
-f,–filter:根据条件过滤显示内容。
–format:指定返回值的格式。
-n,–last:显示最后 n 个容器。
–no-trunc:显示完整的容器信息。
停止容器:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
CONTAINER:容器 ID 或名称。
-t,–time:等待容器停止的时间(秒),默认 10。
删除容器:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
CONTAINER:容器 ID 或名称。
-f,–force:强制删除运行中的容器(使用 SIGKILL)。
-l,–link:删除链接。
-v,–volumes:删除与容器关联的卷。
查看容器日志:
docker logs [OPTIONS] CONTAINER
-f,–follow:跟随日志输出。
–since:显示指定时间后的日志。
–tail:显示最后多少行日志。
–timestamps:显示日志时间戳。
–until:显示指定时间前的日志。
这个我看其它博客里称这个命令为容器编排技术,我的理解是:这个命令基于docker-compose.yml文件可以一次运行多个容器。之前研究openIM的时候,里面的官方文档用的也是这个命令,所以这里也记录一下吧。
启动服务:
docker-compose up [OPTIONS]
-d,–detach:后台运行容器。
–build:构建镜像。
–force-recreate:强制重新创建容器。
–no-deps:不启动链接的服务。
–remove-orphans:删除孤立的容器。
-t,–timeout:设置容器停止等待时间(秒)。
停止服务:
docker-compose down [OPTIONS]
–rmi:删除相关镜像(none、local、all)。
-v,–volumes:删除相关卷。
–remove-orphans:删除孤立的容器。
查看服务日志:
docker-compose logs [OPTIONS] [SERVICE...]
-f,–follow:跟随日志输出。
-t,–timestamps:显示日志时间戳。
–tail:显示最后多少行日志。
参考文档:https://blog.csdn.net/u010282639/article/details/139486120