docker常用命令汇总-持续更新中

news/2024/12/4 22:26:19/文章来源:https://www.cnblogs.com/mingcore/p/18587369

容器卷

docker volume

用法:docker volume [command]

docker volume rm [OPTIONS] VOLUME [VOLUME...]   #删除数据卷
docker volume create for_tomcat                 #创建volume数据卷,名称叫for_tomcat
docker volume ls                                #查看当前所有数据卷信息
docker run -d -p 8014:80 --mount type=volume, source=for_tomcat, target=/usr./local/tomcat/webapps   #启动容器并指定数据卷

卸载旧版本docker

sudo yum -y remove docker* 

查看docker版本

docker --version

启动docker

sudo systemctl start docker

设置docker开机自启动

sudo systemctl enable docker

重启docker

sudo systemctl restart docker

停止docker

sudo  systemctl stop docker

查看docker中的所有镜像

 docker images                 

下载镜像

docker pull

语法:docker pull 镜像名称【:版本号】

 docker pull xx                    #拉取容器/镜像   name:tag 指定版本,默认latest

搜索镜像

docker search

语法:docker search 【参数】搜索项

参数 说明
-f 根据提供的格式筛选结果
--limit 展示最大的结果数,默认为25
docker search xx                   #搜索的范围是官方镜像和所有个人公共镜像

删除镜像

docker rmi

docker rmi 镜像ID
docker rmi 镜像ID1, 镜像ID2, 镜像ID3...    

从压缩包中加载镜像

docker load

语法:docker load -i 镜像备份文件.tar

案例

#从test.tar压缩包中加载镜像
docker load -i test.tar  或者  cat test.tar | docker load

登录镜像仓库

docker login

登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。

语法:docker login [options] [docker镜像仓库地址]

参数 说明
-u 登录的用户名
-p 登录的密码

案例

docker login -u admin -p 1234566

登出镜像仓库

docker logout

登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

语法:docker logout [options] [docker镜像仓库地址]

参数 说明
-u 登录的用户名
-p 登录的密码

案例

docker logout -u admin -p 1234566 

将定制的镜像备份到本地文件

docker save

语法:docker save -o 备份文件名.tar 镜像名称

案例

docker save -o "C: Users\57696\Desktop\images3\helloconsole.tar" he1loconsole_jw3.

构建镜像

docker build

语法:docker build [options] path | url | -

参数 说明
path 表示要构建镜像的上下文路径,通常是包含 Dockerfile 的目录。
url 远程 Git 仓库的 URL,可以直接从远程仓库构建镜像。
- 从标准输入流中读取 Dockerfile 的内容进行构建。

案例

#构建镜像并指定标签
docker build -t my-image:tag #构建过程中传递构建参数,ARG_NAME为参数名称,value为参数值
docker build --build-arg ARG_NAME=value -t my-image:tag#从远程Git仓库构建镜像
docker build -t my-image:tag https://github.com/username/repo.git

docker容器操作

创建容器

docker create

语法:docker create [options] <容器名称或ID> [command] [arg...]

参数options 说明
-t 为容器分配一个虚拟终端,通常与-i搭配使用
-i 以交互模式运行容器,通常与-t搭配使用
--name 为容器指定名称,不提供则默认随机分配一个
--restart 容器退出时是否自动重启,默认为no,always代表自动重启
-P 随机端口映射
-p 指定端口映射,主机端口:容器端口
-e 配置信息
-d 后台执行(创建并启动命令需要加此参数),返回容器ID,退出命令窗口容器也不会停止;
-v 主机和容器目录映射关系,主机目录:容器目录

案例:

docker create --name myapp_jw4 mcr.microsoft.com/dotnet/core/samples
docker create -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root mysql --restart=always mysql
创建并启动容器

docker run

语法:docker run [options] <容器名称或ID> [command] [arg...]

参数options 说明
-t 为容器分配一个虚拟终端,通常与-i搭配使用
-i 以交互模式运行容器,通常与-t搭配使用
--name 为容器指定名称,不提供则默认随机分配一个
--restart 容器退出时是否自动重启,默认为no,always代表自动重启
-P 随机端口映射
-p 指定端口映射,主机端口:容器端口
-e 配置信息
-d 后台执行(创建并启动命令需要加此参数),返回容器ID,退出命令窗口容器也不会停止;
-v 主机和容器目录映射关系,主机目录:容器目录

案例

#使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest #使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest#使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest#绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash#使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
runoob@runoob:~$ docker run -it nginx:latest /bin/bash#创建并启动mysql容器 自动重启
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql 
--restart=always mysql#创建并启动mysql容器 挂载目录卷 自动重启
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root\
-v /usr/local/docker/mysql/data:/var/lib/mysql\
--restart=always -d mysql
列出启动容器
  1. 显示正在运行的容器:docker container ls

语法: docker container ls [options]

选项

名称,简写 默认值 描述
--all, -a false 显示所有容器(默认只显示运行的)
--filter, -f 根据提供的条件过滤输出
--format 使用Go模板打印容器
--last, -n -1 显示最后创建的n个容器(包括所有状态)
--latest, -l false 显示最新创建的容器(包括所有状态)
--no-trunc false 不要截断输出
--quiet, -q false 显示容器ID
--size, -s false 显示文件大小
  1. 查看docker 容器进程信息:docker ps

语法:docker ps [options]

参数options 说明
-a 显示所有容器

案例

docker ps -a                          #显示所有容器(默认显示正在运行)
docker ps                             #显示正在运行中的容器
docker ps | grep ${CONTAINER_ID}      #查看容器状态
停止容器

停止运行容器,运行后状态变为Exited:docker stop

语法

  1. docker stop <容器ID或名称> #停止指定容器
  2. docker stop $(docker ps -q) #停止所有容器

案例

docker stop mysql
强制停止容器

强制关闭一个或多个处于暂停或运行状态的容器:docker kill

语法:docker kill 容器ID或名称

案例:

docker kill mysql

注意事项:不推荐使用,容易造成容器服务不正常关闭。

启动容器

docker start

语法:docker start [options] <容器ID或名称>

参数 说明
-a 将当前的输入/输出连接到容器
-i 将当前的输入连接到容器上

案例

 docker start mysql

注意:如果是控制台程序,需要有交互,例如输入内容,需要 -i参数。

暂停容器

docker pause

语法:docker pause <容器ID或名称>

案例

 docker pause mysql
恢复容器

docker unpause

语法:docker unpause <容器ID或名称>

案例

 docker unpause mysql
删除容器

docker rm

语法:

  1. docker rm [options] <容器ID或名称>
  2. docker rm $(docker ps -a -q) #删除所有已停止的容器
参数 说明
-f 强制删除容器
-v 删除容器的同时删除容器的数据卷

案例

docker rm mysql

注意:删除的容器必须是关闭状态。

重启容器

docker restart

语法:docker restart [options] CONTAINER1 CONTAINER2 CONTAINER3...

参数 说明
-time 指定Docker给容器多少时间来完成停止操作

案例

docker restart my_container  #重启1个容器
docker restart my_container1 my_container2   #重启多个容器
docker restart $(docker ps -q)  #重启所有容器
查看容器日志

docker logs

语法:docker logs [options]

参数 说明
-f 长期监控日志数据
-t 额外增加时间戳
--tail 行数,显示末尾多少行日志

案例

docker logs mysql
docker logs -f -t --tail 5 mysql
查看容器中运行的进程

docker top

语法:docker top <容器ID或名称>

案例

docker top mysql
查看容器内部详情

docker inspect

语法:docker inspect [options] <容器ID或名称>

参数 说明
-f 指定返回值的模板文件
-s 显示总的文件大小
--type 为指定类型返回JSON

案例

docker inspect mysql
复制容器数据到宿主机

docker cp

语法:docker cp <容器ID或名称>:容器内路径 宿主机路径

案例

docker cp mysql:/etc/mysql ~/tmp/conf  #复制Mysql配置到宿主机
与运行中的容器交互

在容器中执行命令:docker exec

语法:docker exec [options] <容器名称或ID> [command] [arg...]

参数 说明
-i 以交互模式运行容器,通常与-t搭配使用
-t 为容器重新分配一个伪终端,通常与-i搭配使用

案例

  docker exec -it <容器ID或名称> /bin/bash #进入指定id的容器docker exec -it mysql bashdocker exec -i my_container echo "Hello Docker"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846884.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高性能计算-NEON-图像旋转

1. 对512*512 png 四通道图像顺时针旋转90度 思路: 像素分块,对块内转置;再水平镜像。图像库使用 stb img 2. 代码 #include <stdio.h> #include <arm_neon.h>#include <stdlib.h> #define STB_IMAGE_IMPLEMENTATION #include "./stb/stb_image.h&quo…

使用自定义 MSBuild Task 阻止 git 的大文件提交

一个自定义 MSBuild Task 的实际案例NuGet Gallery | Jgrass.MSBuild.GitTask 前言 在 .NET 项目自定义 MSBuild Task 中提到,可以使用自定义 MSBuild Task 来实现自定义功能。 这里介绍实现的 git 提交大文件提交拦截功能。 引入 nuget 包之后,设置好要拦截的大小,内置的 L…

ElasticSearch学习笔记

ES7.x和ES8.x的学习笔记1.ElasticSearch概述 1.1 ElasticSearch是什么 Elaticsearch,简称为 ES,ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上 百台服务器,处理PB级别的数…

不死的魔女与灾厄的少年

传闻......森林的深处里住着一位不死的魔女森林的深处,住着一位魔女。 她已经活了几十个世纪,每代王国的历史书籍中都有她的出现。 人们称她为: “不死的魔女” 寂静了百年的森林,在某一天,闯入了一个不速之客,他倒在了魔女的屋子前。 那是一个浑身染血的少年,不着片缕,…

地址冲突检测(DAD)

地址冲突检测(DAD) 目录地址冲突检测(DAD)一、前言二、免费ARP报文实验拓扑报文分析 一、前言 公网: public,互联网可以访问 ,地址必须唯一 私网:RFC1918隔离公网,安全复用 优点:地址段重叠使用 缺点:地址冲突 IPV6唯一本地地址 = IPV6私网地址,提供global id二、免…

2025年昆明理工大学MBA研究生招生人数

--昆工MBA考研、管理与经济学院、125100工商管理、125602项目管理、199管理类综合能力、F009 政治、F008政治+项目管理概论

ybt2.5章AC自动机题解

算法理解 即在字典树上跑kmp T1: 根据这个结论我自己手搓了一个AC自动机上去,喜提TLE 我是如何操作的呢? 我当时的想法是这样的:我们把字典树从根到该节点形成的链看成是一个模式串与文本串进行匹配,然后就用一个dfs来传递j就可以解决了 然后我打开书一看到这幅图,立马就不…

了解checksec显示的各种参数和保护

Arch:内核(32位/64位) RELRO 在Linux系统安全领域数据可以写的存储区就会是攻击的目标,尤其是存储函数指针的区域。所以在安全防护的角度来说尽量减少可写的存储区域对安全会有极大的好处. GCC, GNU linker以及Glibc-dynamic linker一起配合实现了一种叫做relro的技术: rea…

20222325 2024-2025-1 《网络与系统攻防技术》实验八实验报告

1.实验内容 (1)Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML (2)Web前端javascipt 理解JavaScript的基本功能,理解DOM 在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入…

【C++】关于 Visual Studio 的使用技巧(保姆级教程)

目录fliter 视图输出文件位置设置查看预处理结果将目标文件转换为可读的汇编自定义程序入口调试时查看变量在内存中的具体值查看代码的反汇编 fliter 视图 visual studio默认是filter视图(中文为筛选器)项目下的是filter而非硬盘目录里实际的文件夹,这时新建的也是filter想要…

Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案

问题背景 执行yum update出现如下报错排查虚拟机是否联网 ping -c 4 www.baidu.com 可以看到网络链接没有问题解决方案 原因是国外的镜像源有问题,换成国内的即可。 备份原有的镜像源 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下…