docker基础
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似
maven)
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
命令分类
- Docker环境信息 — docker [info|version]
- 容器生命周期管理 — docker
[create|exec|run|start|stop|restart|kill|rm|pause|unpause] - 容器操作管理 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]
- 容器rootfs命令 — docker [commit|cp|diff]
- 镜像仓库 — docker [login|pull|push|search]
- 本地镜像管理 — docker [build|images|rmi|tag|save|import|load]
- 容器资源管理 — docker [volume|network]
- 系统日志信息 — docker [events|history|logs]
docker命令结构图

1.镜像相关
pull
docker pull centos:7.8.2003
images
docker image ls
docker images
save
docker save tomcat:9.0.20-jre8-alpine -o tomcat9.tar
docker save tomcat:9.0.20-jre8-slim > tomcat9.slim.tar
load
docker load -i linux.tar
docker load < tomcat9.0.20.tar
inspect
docker inspect tomcat:9.0.20-jre8-alpine
#获取镜像大小
docker inspect -f {{".Size"}} tomcat:9.0.20-jre8-alpine
history
#镜像由很多层构成
docker history tomcat:9.0.20-jre8-alpine
tag
docker tag tomcat:9.0.20-jre8-alpine lagou/tomcat:9
rmi
#删除镜像
docker rmi tomcat:9.0.20-jre8-alpine
docker image rm tomcat:9.0.20-jre8-alpine
#清除没有使用的镜像
docker image prune
2.容器
运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
#运行容器
docker run -it --rm -p 8080:8080 tomcat:9.0.20-jre8-alpine
docker run命令常用参数比较多,这里仅仅列出开发岗常用参数,请小伙伴们自行查找资料获得更多参
数信息
- -d, --detach=false: 后台运行容器,并返回容器ID
- -i, --interactive=false: 以交互模式运行容器,通常与 -t 同时使用
- -P, --publish-all=false: 随机端口映射,容器内部端口随机映射到主机的端口。不推荐各位小伙伴
使用该参数 - -p, --publish=[]: 指定端口映射,格式为:主机(宿主)端口:容器端口,推荐各位小伙伴们使用
- -t, --tty=false: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
- –name=“nginx-lb”: 为容器指定一个名称
- -h , --hostname=“laosiji”: 指定容器的hostname
- -e , --env=[]: 设置环境变量,容器中可以使用该环境变量
- –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
- –link=[]: 添加链接到另一个容器;不推荐使用该参数
- -v, --volume : 绑定一个卷
- –privileged=false: 指定容器是否为特权容器,特权容器拥有所有的capabilities
- –restart=no:指定容器停止后的重启策略
no:容器退出时不重启
on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启,推荐各位小伙伴们使用 - –rm=false: 指定容器停止后自动删除容器,不能以docker run -d启动的容器
日志
docker logs -f tomcat9
#最新200行
docker logs -f --tail 200 tomcat9
删除容器
#不能删除正在运行的容器
docker rm tomcat9
列出容器
docker ps -a
实用技巧
停止所有运行容器
docker stop $(docker ps -qa)
删除所有的容器
docker rm $(docker ps -aq)
docker rm $(docker stop $(docker ps -q))
删除所有的镜像
docker rmi $(docker images -q)
创建容器
#创建但是不启动
docker create -it --name tomcat9 -p 8080:8080 9.0.20-jre8-alpine
启动、重启、停止、杀掉
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker kill :杀掉一个运行中的容器
进入容器
有bash命令的linux系统:例如centos
docker exec -it tomcat9.1 /bin/bash
没有bash命令的linux系统:例如alpine系统
docker exec -it tomcat9.2 sh
更新容器
更新容器restart策略
docker update --restart always tomcat9
3.常用命令

本文介绍了Docker的基础知识,包括主机、仓库、镜像和容器的概念。详细列举了Docker的镜像管理(如pull、images、save、load、inspect等)和容器操作(如run、logs、rm等)命令,以及容器的创建、启动、停止和删除等流程。此外,还提到了容器的资源管理和系统日志查询等相关命令。
362





