Docker常用命令记录

本文介绍了Docker的核心概念,包括镜像的使用、拉取和删除操作,以及如何通过命令行管理容器,如创建、运行、挂载、复制文件等。还涉及了权限管理、图形界面通信和资源监控等内容。
摘要由CSDN通过智能技术生成

Docker 是一种容器化平台,它将应用程序及其所有依赖项打包到一个称为容器的标准化单元中,具有隔离性、安全性、灵活性和可扩展性等优点,在自动驾驶中被广泛应用。

Docker的定义这里不再赘述,相信大家日常经常使用,我这里总结记录下docker的常用指令

需要注意的是,以下指令在未开通权限之前是需要加sudo的,可以将当前账户加入权限以避免后面每次使用docker都需要加sudo并输入密码,这个方法在我的另一篇博客中记录:

https://blog.csdn.net/Skyrim0107/article/details/137512397?spm=1001.2014.3001.5501

1. 拉取镜像

在Docker中,镜像(Image)是一个只读的模板,其中包含了用于运行容器的应用程序的代码、运行时环境、系统库和依赖项。简单来说,镜像就是一个包含了应用程序运行所需的一切的文件集合

(1) 首先登陆镜像仓

docker login <镜像仓网址>

(2) 输入账号密码成功登陆后,拉取镜像

docker pull <镜像名>

2. 查看镜像

docker images

3. 打包本地镜像

将本地的镜像打包成tar包,方便转移

docker save -o <要保存成的文件名.tar> <镜像名>

这里会在终端输入指令的对应路径生成tar包

4. 加载镜像

转移tar包后,解压tar包在本地生成镜像

docker load -i <XXX.tar>

需要注意的是,在终端的路径tar包存在

5. 删除镜像

下载好的镜像一般储存在ubuntu系统的/var/lib/docker下,比较占用系统primary分区的空间,因此对于暂时用不到的镜像,可以删除

docker rmi <镜像名>

需要注意的是,需要先删除镜像对应的容器,确认没有容器使用这个镜像后,才能删除

6. 通过镜像建立容器

(1) 建立一个容器

docker run -it <镜像名>

(2) 以host身份建立容器

docker run -it --net=host <镜像名>

(3) 将本地的文件挂载到建立的容器中

docker run -it --net=host <本地文件路径>:<容器挂载路径> <镜像名> bash

(4) 更复杂的挂载指令

docker run -it --net=host  -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/root/.Xauthority -e DISPLAY=$DISPLAY  --privileged --name <容器名> <本地文件路径>:<容器挂载路径> <镜像名> bash

-v /tmp/.X11-unix:/tmp/.X11-unix:将本地 X11 UNIX 套接字(用于显示图形界面)挂载到容器中,以便容器内的应用程序能够与本地的 X 服务器进行通信

-v $HOME/.Xauthority:/root/.Xauthority: 将本地 X 认证信息文件(用于授权 X 服务器的访问)挂载到容器中,以便容器内的应用程序能够访问本地 X 服务器

-e DISPLAY=$DISPLAY: 设置环境变量 DISPLAY,将本地 X 服务器的显示设置传递给容器中的应用程序

--privileged: 赋予容器特权,允许容器内的进程访问主机的硬件设备

--name <容器名>:指定容器名

这个指令可以实现本地文件与容器文件共享的前提下,进行图形通信

7. 提交在容器中的更改

 docker commit -a "你的提交注释” <containerID>  <镜像名>

8. 本地和容器之间的文件相互拷贝

采用docker cp指令,后接;两个路径,第一个为被拷贝文件,第二个为拷贝的目标路径

(1) 本地文件拷贝到容器

docker cp <本地文件路径> <容器名:容器内路径>

(2) 容器文件拷贝到本地

docker cp <容器名:容器内路径> <本地文件路径>

9. 查看容器

(1) 查看全部容器

docker ps -a

(2) 查看正在运行的容器

docker ps

10. 删除容器

docker rm <容器名>

注意:docker rmi 为删除镜像;docker rm为删除容器

11. 启动/停止、进入容器

(1) 启动容器:

docker start <容器名>

(2) 停止容器:

docker stop <容器名>

(3) 进入容器

两种方法,第一种:

docker attach <容器名>

docker attach 命令用于连接到正在运行的容器的标准输入、输出和错误,这个命令不会启动一个新的 shell 进程,如果容器中的主进程退出,docker attach 命令也会退出

通俗地说,这个命令可以进入到容器正在进行的进程里,监控当前的输入输出

第二种:

docker exec -it <容器名> bash

docker exec -it 命令用于在运行的容器中启动一个新的shell进程,相当于创建一个新的进程在容器内执行,即使容器中的主进程退出,启动的进程仍然可以继续运行

这种方法适合进入已经开启的容器进行主进程外的操作

12. 查看容器的cpu占用、储存占用等

docker stats <容器名>

13. 查看容器的挂载路径

(1) 只看挂载路径

docker inspect -f "{{.Mounts}}" <容器名>

(2) 除挂载路径外,查看Docker 对象(包括容器、镜像、网络等)的详细信息

docker inspect <容器名>

  • 22
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值