八、Linux基础之docker

前言

当我们开始来使用自己的服务器的时候,那我会建议你先了解一下dockers。众所周知,我们在云平台服务器上的业务,是没办法迁移到其它平台的,这意味我们的业务会被云平台商锁住并且业务的灵活性会非常低。这时候如果我们想要让我们的现有服务器的内容迁移到另一个服务器,那我们就需要docker的帮助了。

一、docker是什么?

docker最主要的作用就是来生成容器,容器可以配置不同的环境来使用,配置出来的容器可以看成一个服务器。对,就是让我们在原先的云平台服务器上在建一个服务器,这样我们就不会受云平台的限制,可以将我们的业务自由迁移。(可以理解成在你的window上开了一台虚拟机,这下明白了吧)。

二、提前设置

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

sudo usermod -aG docker $USER

三、docker内容和常用命令

1.镜像

镜像是docker里面内容的一部分,镜像类似一个模板,可以生成完全一个个完全一样的容器,相同的镜像生成的容器完全一致。同时容器也可以转化成镜像,再反过来生成容器。我们迁移服务器就是通过容器生成成镜像,然后把镜像打包成一个文件传给别的服务器。同时docker官网也提供了很多内置的镜像给我们,比如 ubuntu:20.04,就是官网提供给我们的一个内置镜像,用这个镜像生成的容器就自带20.04乌班图环境了。

镜像常用命令
1.docker pull ubuntu:20.04:拉取一个镜像
2.docker images:列出本地所有镜像
3.docker image rm ubuntu:20.04 或 docker rmi ubuntu:20.04:删除镜像ubuntu:20.04
4.docker [container] commit CONTAINER IMAGE_NAME:TAG:创建某个container的镜像
5.docker save -o ubuntu_20_04.tar ubuntu:20.04:将镜像ubuntu:20.04导出到本地文件ubuntu_20_04.tar
6.docker load -i ubuntu_20_04.tar:将镜像ubuntu:20.04从本地文件ubuntu_20_04.tar中加载出来

命名格式
xxx(名字):xxx(版本号)

2.容器

1.docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器。
2.docker ps -a:查看本地的所有容器
3.docker [container] start CONTAINER:启动容器
4.docker [container] stop CONTAINER:停止容器
5.docker [container] restart CONTAINER:重启容器
6.docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器
7.docker [container] attach CONTAINER:进入容器
先按Ctrl-p,再按Ctrl-q可以挂起容器
8.docker [container] exec CONTAINER COMMAND:在容器中执行命令
9.docker [container] rm CONTAINER:删除容器
10.docker container prune:删除所有已停止的容器
11.docker export -o xxx.tar CONTAINER:将容器CONTAINER导出到本地文件xxx.tar
12.docker import xxx.tar image_name:tag:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag
13. docker export/importdocker save/load的区别:

  • export/import会丢弃历史记录和元数据信息,仅保存容器当时的快照状态
  • save/load会保存完整记录,体积更大

14.docker top CONTAINER:查看某个容器内的所有进程
15.docker stats:查看所有容器的统计信息,包括CPU、内存、存储、网络等信息
16.docker cp xxx CONTAINER:xxxdocker cp CONTAINER:xxx xxx:在本地和容器间复制文件
17.docker rename CONTAINER1 CONTAINER2:重命名容器
18.docker update CONTAINER --memory 500MB:修改容器限制

四、将容器转移到别的服务器

  1. ssh sever1到我们的服务器中。

  2. 在容器目录下面调用,docker import xxx.tar image_name:tag:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag

  3. docker save -o image_name:tag file:将镜像image_name:tag导出到文件file中。

  4. 先回到本地服务器,调用scp server1: file将我们刚刚生成的镜像文件

  5. 在调用scp file server2: 把我们刚刚拉取下来的文件再传到我们想要的服务器上面。

  6. ssh server2到目标服务器上

  7. docker load -i file把file里面的镜像加载出来就可以了。

总结

通过本文,你应该可以了解docker是什么和常用命令,并且学会了如何迁移容器。这就是docker的大部分内容了,也是linux基础的最后一节hh。学完下来感觉还是很充实的。在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老帅比阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值