Linux 下的 docker使用 | 青训营

2023年 8月 29日 75.1k 0

Linux_Ubuntu 下的docker使用

docker的安装

Install Docker Engine on Ubuntu | Docker Docs

参考官方网址下载即可

添加docker用户组

将当前用户添加到docker用户组 为了避免每次使用docker命令都需要加上sudo权限,可以将当前用户加入安装中自动创建的docker用户组:

  • sudo usermod -aG docker $UER (详细信息可以参考官方文档)

执行完此操作后,需要退出服务器,再重新登录回来,才可以省去sudo权限。

常用命令

镜像:

1.拉取一个镜像

以ubuntu 20.04为例,以镜像名:版本号的格式拉取

  • sudo docker pull ubuntu:20.04
2.列出本地所有镜像
  • sudo docker images
3.删除镜像

还是以ubuntu:20.04为例

  • sudo docker image rm ubuntu:20.04
  • 或者 sudo docker rmi ubuntu:20.04
4.将镜像保存为文件

sudo docker save -o 任意名字.tar ubuntu:20.04

这会在当前目录生成一个任意名字.tar,你也可以加上路径,就会在路径中生成。

例如:sudo docker save -o tmp_Save/ubuntu_20_04.tar ubuntu:20.04

可以ls 查看一下是否成功生成

ls -l 查看一下文件权限,发现权限为-rw-------

粗略介绍一下这个权限:

我们除去第一个-,三个三个看,rw-------,分别代表文件所有者用户(u),文件所有者所在组(g),其他用户(o),三个符号分别代表r(读),w(写),x(执行)权限。

所以-rw-------表示除了文件所有者用户有读、写权限之外,其他用户都没有任何权限。

我们执行sudo chmod o+r ubuntu_20_04.tar ,可以为其他用户添加读权限

这里我将面的镜像保存为了ubuntu_20_04.tar 文件 ,o+r 表示给o添加r。

5.利用镜像文件生成镜像

假设你现在有个镜像压缩包为ubuntu_20_04.tar 文件,我们可以

sudo docker load -i ubuntu_20_04.tar

这样就生成了一个镜像,可以使用sudo docker images 查看一下是否成功生成

6.利用容器创建镜像

sudo docker commit 容器 镜像名称

容器:

1.利用镜像创建容器

sudo docker create -it ubuntu:20.04

2.列出本地所有容器

sudo docker ps -a

加了-a 是显示所有容器,不加-a是显示所有正在运行的容器

3.启动容器

sudo docker start 容器

4.停止容器

sudo docker stop 容器

5.重启容器

sudo docker restart 容器

6.删除容器

sudo docker rm 容器

删除所有已停止的容器:

sudo docker container prune

7.创建并启动(进入)容器

sudo docker run -itd ubuntu:20.04

创建并启动容器。

如果改成:sudo docker run -it ubuntu:20.04

就是创建并启动并进入容器

8.进入容器

sudo docker attach 容器

9.退出并挂起容器

先按ctrl + p ,再按ctrl + q

这样退出之后容器不会关闭,如果ctrl + d直接退出容器的话,容器会被关闭

10.不进入容器执行命令

sudo docker exec 容器 命令

例如:sudo docker exec c659fc67496e ls

11.将容器保存为文件

sudo docker export -o xxx.tar 容器

与上面的将镜像保存为文件一样有权限问题

12.利用容器文件生成镜像

sudo docker import xxx.tar 镜像名称

这里不输入镜像名称的话默认为

容器 -> 文件 -> 镜像 与 镜像 -> 文件 -> 镜像的区别,前者会会丢弃历史记录和元数据信息,仅保存容器当时的快照状态,例如连镜像名称都丢弃了,后者的话会保存完整记录,体积更大

13.不进入查看容器内的所有进程

sudo docker top 容器

14.不进入查看所有启动中容器的统计信息

sudo docker status

15. 本地与容器之间传送文件

sudo docker cp 路径 容器:路径 或者 sudo docker cp 容器:路径 路径

这里传文件夹也不需要-r 参数

16.重命名容器

sudo docker rename 原容器名 新容器名

17.修改容器性质

以存储空间上限为例:

sudo docker update 容器 --memory 500MB

还可以改cpu等等,可以参考docker update | Docker Docs

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论