3.docker学习之路——docker常用命令(代码片段)

半路勇者 半路勇者     2023-01-14     774

关键词:

1. Docker系统级命令

## 启动/重启Docker
systemctl start/restart docker
service docker start/restart

## 关闭Docker
systemctl stop docker
service docker stop

## Docker版本信息
docker version

## Docker更详细的信息,包括版本信息
docker info

## 帮助信息
docker help
docker COMMAND --help

2. Docker镜像命令

## 查看所有本地主机上的所有镜像
## --all / -a:显示所有镜像
## --quiet / -q: 只显示镜像ID
docker images

## Docker在仓库中搜索镜像
## --filter / -f:过滤查询:-f=STARS=3000
docker search [OPTIONS] 镜像名称

## 下载镜像
## -a:下载所有版本镜像
## :TAG:指定版本,若不指定,则下载latest最新版本。
docker pull [OPTIONS] 镜像名称[:TAG]

## 删除镜像 除(多个镜像使用空格分割)
## -f:强制删除
## 根据镜像ID删
docker rmi -f 镜像ID1 镜像ID2
## 根据镜像名称加版本删除
docker rmi -f 镜像名称:版本(默认latest)
## 删除所有镜像(骚操作)
docker rmi -f $(docker images -aq)

## 从容器创建一个新镜像
## -a="作者"
## -m="描述"
## -p:暂停运行容器后再提交
## -c:使用Dockerfile指令来创建镜像
docker commit [OPTIONS] 容器ID 镜像名称:TAG  

## 将指定镜像保存成 tar 归档文件
docker save -o tar文件路径

## 导入使用 docker save 命令导出的镜像
docker load -i tar文件路径

## 查看镜像构建历史
docker history 镜像ID/镜像名称:TAG 

3. Docker容器命令

## 运行镜像为容器
## --name="唯一别名":容器命名,用于区分容器
## -d:后台方式运行,相当于nohup。问题:docker容器没有前台进程执行,会自行退出,所以可以配合-it使用
## -it:使用交互方式运行,并且进入容器查看信息
## --rm:容器退出后自动删除(一般用于测试)
## -p: 主机端口:容器端口:宿主机端口映射容器端口,访问宿主机端口即可。
## -p:容器端口:指定容器端口
## -P:随机端口
## -v:宿主机目录:容器目录:权限 镜像ID/名称:数据卷指定路径挂载
## -v:卷名:容器目录:权限 镜像ID/名称:数据卷具名名挂载(/var/lib/docker/volumes/卷名)
## -v:容器目录:权限 镜像ID/名称:数据卷匿名挂载
## --volumes-from:容器ID/容器名称:继承容器的数据卷(可多个)
## -e:配置容器参数,例如Java程序:-e JAVA_OPTS="-Xms=64m,-Xmx=512m"
## --link:使前面的容器可以ping通后面的容器(反向则不行),例如:tomcat01 --link tomcat02
docker run [OPTIONS] 镜像名称

## 容器停止并退出
exit

## 容器不停止并退出
Ctrl + P + Q

## 查看运行中的容器
## -a:可以查看所有容器(包括历史容器和运行中的容器)
## -n=数字:显示多少条容器
## -q:只显示容器ID
docker ps [OPTIONS]

## 查看容器资源占用情况
## 查看所有容器的资源占用
docker stats
## 查看指定容器的资源占用
docker stats 容器ID

## 查看容器中的进程信息
docker top 容器ID

## 查看容器的元数据
docker inspect 容器ID

## 查看容器数据卷的元数据
docker volumes inspect 数据卷ID/数据卷名称

## 进入正在运行的容器
## 方式一:进入容器并打开新的终端(常用)
docker exce -it 容器ID 
## 方式二:进入容器并打开正在运行的终端
docker attach 容器ID

## 将容器内文件复制到宿主机
docker cp 容器ID:容器内路径 宿主机路径

## 删除容器
## -f:强制删除
## 根据容器ID删除(不能删除运行中的,需要加-f参数)
docker rm [OPTIONS] 容器ID
## 删除所有容器(不能删除运行中的,需要加-f参数)
docker rm [OPTIONS] $(docker ps -aq)

## 启动/重启容器
docker start 容器ID
docker restart 容器ID

## 停止容器
docker stop 容器ID
## 强制停止容器
docker kill 容器ID

4. Docker网络

## 将容器连接到网络
docker network connect [OPTIONS] 网络名称 容器ID/容器名称

## 创建新的Docker网络。默认情况下,在Windows上会采用NAT驱动,在Linux 上会采用Bridge 驱动。可以使用 -d 参数指定驱动(网络类型)。
docker network create

## 断开容器的网络
docker network disconnect 容器ID

## 列出Docker主机上的所有Docker网络
docker network ls

## 删除Docker主机上所有未使用的网络
docker network prune

## 删除Docker的指定网络
docker network rm

5. Docker其它常用命令

## 查看日志
## -t: 显示时间戳
## -f: 跟随打印日志
## --tail 行数:显示多少行
docker logs [OPTIONS] 容器ID

## 登录
docker login 仓库地址(不指定,则默认https://registry.hub.docker.com/) -u 用户名 -p 密码

## 退出登录
docker logout 仓库地址(不指定,则默认https://registry.hub.docker.com/)

## 发布镜像
docker push DockerHub的用户名/镜像ID

注: 关闭Docker时警告:Stopping docker.service, but it can still be activated by:docker.socket怎么解决?

原因分析:这是因为除了docker.service单元文件,还有一个docker.socket单元文件,docker.socket这是用于套接字激活。该警告意味着:如果你试图连接到docker socket,而docker服务没有运行,系统将自动启动docker。

解决方法(关闭Docker socket):sudo systemctl stop docker.socket

建议:其实这是个挺人性化的设计,知道意思后,就不想采取什么干预了。

6. 命令练习一(Nginx)

① 搜索nginx(为了确认nginx在docker仓库中是否存在)
docker search nginx
② 安装nginx镜像
docker pull nginx
③ 后台运行nginx镜像生成容器,容器命名为nginx01,
## 启动后就可以访问IP:8080,进入nginx首页
docker run -d --name nginx01 -p:8080:80 镜像ID/镜像名称:TAG
④ 进入nginx容器
docker exec -it nginx01 /bin/bash
⑤ 退出容器
## 退出容器
exit
⑥ 关闭nginx容器
docker stop 容器ID
## 或
docker kill 容器ID
⑦ 删除容器
docker rm 容器ID
⑧ 删除nginx镜像
docker rmi -f 镜像ID
## docker images存在image时,却无法删除怎么办?
cd /var/lib/docker/image/overlay2/imagedb/content/sha256
## 找到对应镜像删除即可
rm -rf xxxxxx

7. 命令练习二(Tomcat9.0,测试,容器退出即删)

① 直接运行tomcat镜像,容器退出即删除,镜像会保留通用部分层,需要手动删除镜像,一般用于测试使用。
docker run -it --rm -p 3443:8080 tomcat:9.0
② 注意问题

因为tomcat是阉割过的,已经被压榨到最小可用,所以访问时报404,所以想要访问到tomcat首页,需要进入tomcat容器,或将webapps删除,并将webapps.dist改为webapps,或将webapps.dist内容复制到webapps目录下。这样就可以访问到tomcat首页了。

docker容器常用命令

Docker容器命令1.docker运行(创建)容器命令2.docker查看容器命令3.docker退出容器命令4.docker启动容器命令5.docker重启容器命令6.docker停止容器命令7.docker删除容器命令8.docker进入容器命令9.docker查看容器日志10.docker查看容器内运行的线程1... 查看详情

docker常用集锦(代码片段)

文章目录1.关于docker2.常用命令2.1.docker安装2.1.1.成功验证2.1.2.启动2.2.image镜像2.2.1.将image文件从仓库抓取到本地2.2.2.镜像查看&删除2.3.docker容器2.3.1.运行2.3.2.容器运行日志2.3.3.停止2.3.4.容器重启2.3.5.容器实例文件2.3.6.其他常用... 查看详情

3.docker容器的常用命令(代码片段)

1.docker的主要内容(1).docker是一个cs架构(2).docker主要:镜像容器仓库网络存储监控(3).docker是一个软件的打包技术2.docker镜像基础命令1.dockersearchNginx(搜索镜像)[root@docker03~]#dockersearchnginxNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDnginxOffici... 查看详情

docker-微服务篇(代码片段)

docker学习笔记1.docker简介1.1为什么会出现docker?1.2docker理念1.3虚拟机(virtualmachine)1.4容器虚拟化技术1.5一次构建到处运行2.docker安装2.1前提条件2.2docker基本构成2.3docker安装步骤*2.4测试镜像3.docker常用命令3.1启动docker3.2... 查看详情

docker教程-1-学习及安装docker(代码片段)

目录1、Docker介绍1.1 Docker的来源1.2 Docker是什么1.3 Docker特点1.4 Docker的应用场景1.5 Docker的优势2、Docker版本及安装要求2.1Docker版本介绍2.2Docker安装要求3、Docker的核心概念3.1 Docker引擎3.2Docker的组成4、LinuxUbuntu 安装Docker4.1查看系... 查看详情

docker学习:dockerfile微服务实战及docker端口映射(代码片段)

文章目录前言1.Dockerfile介绍2.微服务实战案例3.docker端口映射3.1查看docker网络模式命令3.2docker网络模式前言大家好,这是我学习docker系列的笔记文章,目标是掌握docker,为后续学习K8s做准备。本文记录了springBoot微服务项目... 查看详情

docker常用脚本执行命令(批量删除所有镜像容器,)(代码片段)

批量删除所有镜像(none表示镜像的关键字)dockerrmi$(dockerimages|grep"none"|awk‘print$3‘)docker批量删除所有容器dockerps//查看所有正在运行容器dockerstopcontainerId//containerId是容器的IDdockerps-a//查看所有容器dockerps-a-q//查看所有容器IDdockerstop... 查看详情

docker容器

 1、拉取镜像dockerpull 2、创建容器dockerrun 3、docker常用命令dockerimagesdockerps-adockerexec-itdockernamebashdockerstopdockerstartdockerrestartdockerrm-f 查看详情

系统学习docker---第二节docker架构,原理,安装及简单应用

本小节主要内容:1.docker的架构2.docker安装步骤3.docker简单应用4.底层原理1.docker的架构  1.看官网,docker的架构描述: https://docs.docker.com/get-started/overview/Docker使用客户端-服务器架构。Docker 客户端与Docker 守护进程进... 查看详情

docker学习:常用命令

Docker学习(2):常用命令命令行操作前提:systemctlstartdocker启动dockersudo-i进去root模式一、帮助命令dockerversion查看对应安装的版本号,可以用来检测docker是否安装c成功dockerinfoDocker容器安装之后,个人信息的描述,比version更加详细do... 查看详情

docker我是真的全(没骗人[三万字巨详细])--docker虚拟机安装部署及常规操作

Docker1、为什么使用Docker1.1、Docker的使用场景一1.2、Docker的使用场景二1.3、Docker的使用场景三2、Docker介绍2.1、什么是虚拟化2.2、认识Docker2.3、容器与虚拟机比较2.3.1什么是虚拟机2.3.2什么是容器2.4、Docker与虚拟机形象比喻2.4.1什么... 查看详情

docker的介绍以及常用命令(代码片段)

一、docker的介绍1.Docker是什么?Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不... 查看详情

docker教程-1-学习及安装docker(代码片段)

目录1、Docker介绍1.1 Docker的来源1.2 Docker是什么1.3 Docker特点1.4 Docker的应用场景1.5 Docker的优势2、Docker版本及安装要求2.1Docker版本介绍2.2Docker安装要求3、Docker的核心概念3.1 Docker引擎3.2Docker的组成4、LinuxUbuntu 安装Docker4.1查看系... 查看详情

docker学习笔记(5-3)docker的远程访问

...端使用-H选项:使客户端访问远程服务端    本地环境DOCKER_HOST设置客户端访问的默认服务端地址 准备工作  两台机器server1、server2分别安装docker  修改docker守护进程启动选项,增加label选项,区别服务器  保证client... 查看详情

springcloud之微服务实用篇3-docker(代码片段)

...天继续学习微服务的知识,今天的主要任务就是学习Docker,包括了解docker的工作原理、基本操作、Dockerfile自定义镜像,Docker-Compose对镜像进行集群部署,以及Docker镜像服务等。目录一、初识Docker1.1、Docker的工作原... 查看详情

springcloud之微服务实用篇3-docker(代码片段)

...天继续学习微服务的知识,今天的主要任务就是学习Docker,包括了解docker的工作原理、基本操作、Dockerfile自定义镜像,Docker-Compose对镜像进行集群部署,以及Docker镜像服务等。目录一、初识Docker1.1、Docker的工作原... 查看详情

docker学习笔记(4-3)docker容器内部署静态网站

Docker学习笔记(4-3)Docker容器内部署静态网站 设置容器的端口映射如何访问容器的80端口《--设置端口映射-P 为所有端口映射 -p指定映射端口dockerrun-p80-i-tubuntu/bin/bashdockerrun-p8080:80-i-tubuntu/bin/bashdockerrun-p0.0.0.0:80-i-tubuntu... 查看详情

docker容器命令

Docker容器命令1.docker运行(创建)容器命令2.docker查看容器命令3.docker退出容器命令4.docker启动容器命令5.docker重启容器命令6.docker停止容器命令7.docker删除容器命令8.docker进入容器命令9.docker查看容器日志10.docker查看容器内运行的线程1... 查看详情