赞
踩
当我们开始来使用自己的服务器的时候,那我会建议你先了解一下dockers。众所周知,我们在云平台服务器上的业务,是没办法迁移到其它平台的,这意味我们的业务会被云平台商锁住并且业务的灵活性会非常低。这时候如果我们想要让我们的现有服务器的内容迁移到另一个服务器,那我们就需要docker的帮助了。
docker最主要的作用就是来生成容器,容器可以配置不同的环境来使用,配置出来的容器可以看成一个服务器。对,就是让我们在原先的云平台服务器上在建一个服务器,这样我们就不会受云平台的限制,可以将我们的业务自由迁移。(可以理解成在你的window上开了一台虚拟机,这下明白了吧)。
将当前用户添加到docker用户组,为了避免每次使用docker命令都需要加上sudo权限,可以将当前用户加入安装中自动创建的docker用户组(可以参考官方文档):
sudo usermod -aG docker $USER
镜像是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(版本号)
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/import
与docker save/load
的区别:
export/import
会丢弃历史记录和元数据信息,仅保存容器当时的快照状态save/load
会保存完整记录,体积更大14.docker top CONTAINER
:查看某个容器内的所有进程
15.docker stats
:查看所有容器的统计信息,包括CPU、内存、存储、网络等信息
16.docker cp xxx CONTAINER:xxx
或 docker cp CONTAINER:xxx xxx
:在本地和容器间复制文件
17.docker rename CONTAINER1 CONTAINER2
:重命名容器
18.docker update CONTAINER --memory 500MB
:修改容器限制
ssh sever1
到我们的服务器中。
在容器目录下面调用,docker import xxx.tar image_name:tag
:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag
docker save -o image_name:tag file
:将镜像image_name:tag导出到文件file中。
先回到本地服务器,调用scp server1: file
将我们刚刚生成的镜像文件
在调用scp file server2:
把我们刚刚拉取下来的文件再传到我们想要的服务器上面。
ssh server2
到目标服务器上
docker load -i file
把file里面的镜像加载出来就可以了。
通过本文,你应该可以了解docker是什么和常用命令,并且学会了如何迁移容器。这就是docker的大部分内容了,也是linux基础的最后一节hh。学完下来感觉还是很充实的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。