[Docker] 的常用命令

ps 以下命令均为基于linux

1. 帮助命令

docker version 		 	# 显示docker的版本信息
docker info 			# 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help 		#帮助命令 sudo su root 			# 切换root用户
service docker start 	# 启动docker

2. 镜像命令

获取镜像

docker images  		# 获取本地的镜像

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker images --help

Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]

List images

Options:
-a, --all Show all images (default hides intermediate images)
–digests Show digests
-f, --filter filter Filter output based on conditions provided
–format string Pretty-print images using a Go template
–no-trunc Don’t truncate output
-q, --quiet Only show image IDs

搜索镜像

docker search 镜像名字		# 搜索镜像

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker search --help

Usage: docker search [OPTIONS] TERM

Search the Docker Hub for images

Options:
-f, --filter filter Filter output based on conditions provided
–format string Pretty-print search using a Go template
–limit int Max number of search results (default 25)
–no-trunc Don’t truncate output
root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker search mysql --filter=STARTS=5000
Error response from daemon: Invalid filter ‘starts’

// 搜索过滤

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker search mysql --filter=STARS=5000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10637 [OK]

拉取镜像

docker pull 镜像名				# 拉取镜像
docker pull 镜像名:版本号 		# 指定版本下载

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker pull mysql

Using default tag: latest // 如果不写Tag,,默认下载lastest
latest: Pulling from library/mysql // 分层下载, docker images 的核心 联合文件系统
6f28985ad184: Pull complete
e7cd18945cf6: Pull complete
ee91068b9313: Pull complete
b4efa1a4f93b: Pull complete
f220edfa5893: Pull complete
74a27d3460f8: Pull complete
2e11e23b7542: Pull complete
fbce32c99761: Pull complete
08545fb3966f: Pull complete
5b9c076841dc: Pull complete
ef8b369352ae: Pull complete
ebd210f0917d: Pull complete

Digest: sha256:5d1d733f32c28d47061e9d5c2b1fb49b4628c4432901632a70019ec950eda491 // 签名

Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest // 真实地址

删除镜像

docker rmi				# 删除镜像
docker rmi -f 镜像id 		# 删除特定的镜像

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker rmi --help

Usage: docker rmi [OPTIONS] IMAGE [IMAGE…]

Remove one or more images

Options:
-f, --force Force removal of the image
–no-prune Do not delete untagged parents

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
mysql         5.7       2fb283157d3c   2 days ago    449MB
mysql         latest    26d0ac143221   2 days ago    546MB
hello-world   latest    d1165f221234   2 weeks ago   13.3kBroot@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker rmi -f  26d0ac143221
Untagged: mysql:latest
Untagged: mysql@sha256:5d1d733f32c28d47061e9d5c2b1fb49b4628c4432901632a70019ec950eda491
Deleted: sha256:26d0ac143221341c36402a139826e938d2ea6f2e458005a71699975c84e96ade
Deleted: sha256:16f5b1eb2e7319e8a0db5df7f1ee0903033400a42264fcfbcc2d946b12267895
Deleted: sha256:303119686434550f3672a755dcda8a0468d34472d77e8789ffef5dc5f73dc790
Deleted: sha256:88f159cadb30aacd4df26c9fb6e1fb71b3cc3f5ce05468659879216e7751bad7
Deleted: sha256:55b6e8ee7cbea49773b2a88c3941ebad16537df99b087e673ca4b0175ade1b70
Deleted: sha256:e27b1c89d3f9e194c1a3495c24a9546135ee3ab6625e94eaaedd09a41343e7d0root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
mysql         5.7       2fb283157d3c   2 days ago    449MB
hello-world   latest    d1165f221234   2 weeks ago   13.3kB

构建镜像

我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

runoob@runoob:~$ cat Dockerfile FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

runoob@runoob:~$ docker build -t runoob/centos:6.7 .Sending build context to Docker daemon 17.92 kB
Step 1 : FROM centos:6.7---> d95b5ca17cc3
Step 2 : MAINTAINER Fisher "fisher@sudops.com"---> Using cache---> 0c92299c6f03
Step 3 : RUN /bin/echo 'root:123456' |chpasswd---> Using cache---> 0397ce2fbd0a
Step 4 : RUN useradd runoob
......

参数说明:

  • -t :指定要创建的目标镜像名
  • . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

使用docker images 查看创建的镜像已经在列表中存在,镜像ID为860c279d2fec

runoob@runoob:~$ docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
runoob/centos       6.7                 860c279d2fec        About a minute ago   190.6 MB

我们可以使用新的镜像来创建容器

runoob@runoob:~$ docker run -t -i runoob/centos:6.7  /bin/bash
[root@41c28d18b5fb /]# id runoob
uid=500(runoob) gid=500(runoob) groups=500(runoob)

从上面看到新镜像已经包含我们创建的用户 runoob。

设置镜像标签

我们可以使用 docker tag 命令,为镜像添加一个新的标签。

runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev

docker tag 镜像ID,这里是 860c279d2fec ,用户名称、镜像源名(repository name)和新的标签名(tag)。

使用 docker images 命令可以看到,ID为860c279d2fec的镜像多一个标签。

runoob@runoob:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
runoob/centos       6.7                 860c279d2fec        5 hours ago         190.6 MB
runoob/centos       dev                 860c279d2fec        5 hours ago         190.6 MB

3. 容器命令

说明: 有了镜像才可以创建容器, linux, 下载一个centos镜像来测试学习

新建容器并启动

docker run [可选参数] image# 参数说明
--name="Name" 	# 命名容器名字
-d   			# 后台方式运行
-i				# 使用交互方式操作,
-t				# 运行终端
-p 				# 指定容器端口  -p 8080:8080-p ip:主机端口:容器端口-p 主机端口:容器端口 (常用)-p 				# 随机端口
# 启动并进入容器root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker run -it centos /bin/bash# 容器启动成功 注意[]
[root@44ff7f7ed7fe /]#

从容器中退回主机

exit 			# 直接退出容器并停止
Ctrl + p + q	# 退出容器但不停止

列出运行中的容器

docker ps

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker ps --help

Usage: docker ps [OPTIONS]

List containers

Options:
-a, --all Show all containers (default shows just running)

-f, --filter filter Filter output based on conditions provided

​ --format string Pretty-print containers using a Go template

-n, --last int Show n last created containers (includes all states)

​ (显示最近创建的运行中的程序)

(default -1)
-l, --latest Show the latest created container (includes all states)
–no-trunc Don’t truncate output

-q, --quiet Only display container IDs

​ (只显示运行中容器的id)

-s, --size Display total file sizes

删除容器

docker rm 容器id    			# 不能删除运行中的容器docker rm -f $(docker ps -aq) # 删除所有的容器

启动和停止容器的操作

docker start 容器id           # 启动已停止的容器
docker restart 容器id			# 重启停止的容器docker stop  容器id 			# 停止容器
docker kill  容器id			# 
  • 停止所有正在运行容器
docker kill $(docker ps -a -q)

4.常用的其他命令

  • 后台启动容器
docker run -d 镜像
  • 查看日志
docker logs 容器id
  • 查看容器的进程信息
docker ps
  • 查看容器的内容信息
docker inspect 容器id
  • 进入正在运行的容器

容器通常是以后台的方式运行的,需要进入容器修改一些配置

docker exec -it 容器id bashShell 			# 进入容器后新开一个终端, 可以在里面操作

root@DESKTOP-GC42A9O:/mnt/c/Users/dcs# docker exec -it 60c79e9079ae /bin/bash

[root@60c79e9079ae /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr

docker attach 容器id				# 进入容器正在执行的终端,不会启动新的终端
  • 从容器内拷贝文件到主机
docker cp 容器id:容器内地址 目的主机地址# 拷贝是一个手动的过程,未来我们可以使用 -v卷的技术,来实现同步
  • 卷操作
root@DESKTOP-GC42A9O:/home# docker volume --helpUsage:  docker volume COMMANDManage volumesCommands:create      Create a volumeinspect     Display detailed information on one or more volumesls          List volumesprune       Remove all unused local volumesrm          Remove one or more volumesRun 'docker volume COMMAND --help' for more information on a command.

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

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

相关文章

8年老鸟,自动化测试经验,测试数据管理分析总结,一篇打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 问题:…

Nginx解析域名到指定端口

一、配置文件路径 在大多数Linux系统上,Nginx的配置文件通常位于/etc/nginx目录下。主要的配置文件是nginx.conf,而针对每个站点的配置文件通常存储在/etc/nginx/conf.d/目录或/etc/nginx/sites-available/目录下。 以下是一些常见的Nginx配置文件和目…

Linux学习记录——사십삼 高级IO(4)--- Epoll型服务器

文章目录 1、理解Epoll和对应接口2、实现 1、理解Epoll和对应接口 poll依然需要OS去遍历所有fd。一个进程去多个特定的文件中等待,只要有一个就绪,就使用select/poll系统调用,让操作系统把所有文件遍历一遍,哪些就绪就加上哪些fd…

ssm基于VUE.js的在线教育系统论文

摘 要 随着学习压力越来越大,课外参加补习班的学生越来越多。现在大多数学生采用请家教、自学、报名补习班的方式进行课外的额外学习。请家教费用昂贵,自学效率低,碰到自己不会的知识不能及时得到解达,报名补习班需要时间、地点的…

Uncaught TypeError: Cannot read properties of undefined (reading ‘remove‘)

在Vue 3中,你可能会遇到“Uncaught TypeError: Cannot read properties of undefined (reading remove)”这样的错误,这通常是因为在组件销毁时,尝试访问已经被销毁的元素或事件监听器。 为了解决这个问题,你可以在组件销毁之前&…

x-cmd pkg | trash-cli - 类 Unix 系统的命令行垃圾桶

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trash-cli 是类 Unix 系统的命令行垃圾桶,用于移动文件到回收站,同时会记录文件的原地址和删除日期。 该工具使用与 GNOME、KDE ​​和 XFCE 等桌面环境相同的垃圾桶,所以即使是非 …

Linux网络---DNS域名解析服务

引言:DNS域名解析服务主要讲解了4个实验 DNS正向解析实验DNS反向解析实验DNS主从服务器实验DNS分离解析实验 一、DNS基础 1、DNS简介 DNS域名系统 (Domain Name System 缩写为:DNS)是因特网的一项核心服务,它作为可…

PVE虚拟机配置文件恢复

一、pve 创建的虚拟机的配置文件位置 在宿主机的 /etc/pve/qemu-server,这里有创建虚拟机的相关硬件信息。 rootpve1:/etc/pve/qemu-server# pwd /etc/pve/qemu-server二、故障现象 在命令行执行qm list不显示虚拟机,查看 宿主机的 /etc/pve/qemu-ser…

Codeforces Round 913 (Div. 3)E 不进位各数位和与打表

Problem - E - Codeforces digsum(a)digsum(b)digsum(c)digsum(n) 要点一: 当左边和发生进位,比如56 11,那么数位和会变小。其实下一位就是相加后对9取余,各数位和必定变小的。 要点二: 然后就是组合情况了&#x…

2024.1.14

今天英语考试了,我复习了很久(也就每天晚上看一个多小时),但我是万万没有想到啊,居然这么简单,感觉就听力和作文像大学题,其他和初中题差不多,这下有经验了,下次考试不复…

Echarts可视化-数据请求-代码实现和思路

需求:为前端可视化图表提供数据支持。 实现: 时间戳获取优化(细化到秒) 根据时间获取数据(SQL编写) 前端需求数据返回(数据VO) 内容 Apache ECharts 营业额统计 用户统计 订单…

搜维尔科技:【简报】元宇宙数字人赛道,《全息影像技术应用》!

期待着看展的主角来到今天要参观的全息影像展,平时就喜欢看展的她对于所谓的全息影像非常好奇,于是她带着期待的心情进入展内。进入展内的主角看到的是与之前完全不同的画展,每幅画看起来就像真的一样,充满好奇的她在展览的各处游…

【ONE·MySQL || 复合查询】

总言 主要内容:主要介绍一些复杂的查询,涉及多表查询、交叉连接、内连接、外连接、子查询、合并查询等。       文章目录 总言1、基本查询回顾1.0、博文说明1.1、一些例题1.1.1、查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的…

Java中的封装性及构造方法

一、封装性 面向对象包括三大特征: 封装 继承 多态 封装的好处: 1.封装之后,对于那个事物来说,看不到这个事物比较复杂的那一面,只能看到该事物简单的那一面。 复杂性封装,对外提供简单的操作入口。 2.封…

Python爬虫|使用urllib获取百度首页源码

在这个博客中,我们将一起探索百度首页的源码,深入了解从URL请求到页面呈现的全过程。我们将使用Python的urllib.request库来模拟浏览器发送请求,并解码响应中的页面源码。通过分析源码,我们将揭示网页的结构、内容和背后的工作原理…

【Redis】AOF 源码

在上篇, 我们已经从使用 / 机制 / AOF 过程中涉及的辅助功能等方面简单了解了 Redis AOF。 这篇将从源码的形式, 进行深入的了解。 1 Redis 整个 AOF 主要功能 Redis 的 AOF 功能概括起来就 2 个功能 AOF 同步: 将客户端发送的变更命令, 保存到 AOF 文件中AOF 重写: 随着 Red…

在关系模式中,如何求闭包?

闭包: 1、包含本身,以及属性子集中能推导出来的部分 2、子集的组合能推导出单一子集或组合,若闭包中只含有组合中的单一子集(非组合),则无法推导出单一子集或组合 这么说可能有些含糊,直接上例题: 1、有关…

Halcon滤波器derivate_gauss 算子

Halcon滤波器derivate_gauss 算子 derivate gauss 算子不仅可以提取图像边缘,还有以下功能。 (1)平滑图像。 (2)边缘检测:提取图像的边缘。 (3)角点检测:检测图像上的角…

电脑重置网络后连不上网了怎么办

一般电脑重置网络后都会自动重新下载好网络配置,但是不免会出现一些意外,接下来就我遇到的重置后无法联网的解决方案 做一个分享: 1、按下“winR”打开运行输入 services.msc 。 2、找到 WLAN AutoConfig 和 Wired AutoConfig 服务&#xff…

如何安装Python

Python是一种流行的编程语言,拥有广泛的应用领域。为了开始使用Python,首先需要在计算机上安装Python解释器。在本文中,我们将介绍如何安装Python以及一些常见的安装步骤。 1. 下载Python 首先,你需要前往Python官方网站&#xf…