云服务配置docker镜像容器以及常用操作命令

发布时间:2023年12月18日

首先通过ssh进入云服务器。如何ssh进入云服务器。

简单讲解一下docker中镜像和容器,打个比方,镜像相当于印钱的那个模板,容器相当于从模板上拓下来的钱,不同的模板可以印出不同的钱。但容器被修改后也可以变成新的镜像,再印出对应的初始时相同的容器。

1.添加docker用户组

因为docker很多命令需要sudo权限,所以需要将当前用户添加进docker用户组中,命令,如下,然后输入用户密码,

sudo usermod -aG docker $USER

?

2.拉取镜像

从docker官网通过 pull 拉取一个镜像,我通过拉取乌邦图20.04为例,命令如下,如果提示没有权限,要么命令加上sudo,要么执行上一步,后面就可都避免权限不足?

docker pull unbuntu:20.04?

?

?3.查看所有镜像

docker images

?

4.删除镜像

如果要删除镜像,表示删除ubuntu:20.04这个镜像

docker image rm ubuntu:20.04?

?

?5.使用本地镜像文件

(没有则5,6,7忽略)如果本地已经有了其他服务器上的docker镜像文件,那么直接在本地执行命令,把文件传到云服务器上,然后重新进入服务器,家目录下就能看到 docker文件名?

scp 文件名? 服务器别名:?

?

6.查看镜像文件

然后把将镜像从文件中加载出来,那么镜像存在了,可以用 docker images 查看

docker load -i??文件名

?

7.导出镜像文件

相反的,如果需要把服务器上的docker镜像导出到本地或迁移到其他服务器,则在服务器终端中使用命令,就可以成功导出镜像文件,导出后的文件名为自定义,

docker save -o 导出后的文件名 ubuntu:20.04?

?????????但此文件是仅自己可读写,所以需要修改权限,让其他人也能读,命令

chomd +r? 导出后的文件名

????????然后就可以通过把镜像文件迁移到其他服务器上或本地,在其他服务器上通过第 5,6 步 生成新的镜像。

8.创建容器

有了docker镜像,就可以使用命令创建容器了。在阿里云服务器中执行命令,这个命令有非常多的参数,感兴趣可以去官网查看

docker?create -it ubuntu:20.04

?????????此时就创建好了 unbuntu:20.04的服务器容器,可以通过命令 docker ps -a 查看所有容器,但他没有运行,然后需要下面命令运行容器。

补充:????????

????????也可以通过 docker rm?容器id或者名称 命令删除容器,但不能删除在运行的容器,删除之前需要关闭容器,docker container ?prune 删除所有已停止的容器

9.运行容器

?docker?start 容器id或者名称

????????id和名称在?docker ps -a 命令显示的容器列表中的id和name,再通过此命令的status就能看到容器的启动情况,此外?docker stop 容器id或者名称?命令可以关闭容器,docker restart 容器id或者名称?可以重启容器,docker?run -itd ubuntu:20.04 也可以直接创建并启动容器

10.进入容器

运行容器之后,进入容器,只能进入已经运行的容器,进入之后会在root用户的根目录下,跟一个新的服务器一模一样

docker attach?容器id或者名称

?退出但挂起容器需要两段操作,先按Ctrl+p,再按Ctrl+q,如果直接退出且关闭容器,则Ctrl+d

11.在云服务器中执行docker中的命令 .

容器需要是运行状态

docker?exec 容器id或者名称??命令

?比如,docker exec?82e84dbce483 ls ,就可以查看82e84dbce483这个容器中根目录下的所有文件。

12.导出容器

docker export -o xxx.tar 容器id或者名称? ?

将容器导出到本地文件xxx.tar中?,然后使用命令 chmod +r xxx.rar 加上可读权限,然后就可以先scp 传到本地,再通过 scp 命令传到其他服务器上,注意此时相当于导出的是容器的镜像,其他服务器是接受的也是次容器的镜像文件。然后其他服务器 docker export docker文件名 就可以获得此docker文件的镜像,大家会发现此步骤跟 上述 5,6,7步骤中的save和load命令非常相似,但两则有一点区别,对容器的导出和导入就是export和import(但其实导入导出的都是容器的模板也是镜像),直接对镜像的导出和导入就是save和load,但export/import会丢弃历史记录和元数据信息,仅保存容器当时的快照状态,甚至连容器的名字都会被删掉,save/load会保存完整记录,体积更大

13.查看容器信息

容器需要启动,然后 docker attach?容器id或者名称?进入容器,然后执行 top 命令查看当前容器存在的进程,

可以在在云服务器使用命令?docker top 容器id或者名称 查看容器存在进程,两个方法效果基本一样

也可以在云服务器使用命令 docker stats 查看所有容器的资源占用情况

14.在本地和容器间复制文件

docker cp xxx 容器id或者名称:xxx?

docker cp 容器id或者名称:xxx xxx

xxx为文件路径或文件名

15. 重命名容器,

镜像生成容器后,容器名是随机的,这时候就可以修改容器名

docker rename 容器旧名 容器新名

?

16.修改容器限制

比如修改容器内存大小。修改完后可进入容器使用top查看

该命令可以修改的东西非常多,cpu周期,cpu使用数量,内存大小等等,可查看官网

docker update 容器id或者名称--memory 500MB

文章来源:https://blog.csdn.net/m0_74163986/article/details/135011578
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。