栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Acwing - Linux基础课(九)- docker教程

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Acwing - Linux基础课(九)- docker教程

文章目录
      • 镜像
      • 容器
      • 实操练习

本节课是关于搭建docker环境,使用docker的好处是方便迁移。

docker基本概念

  • 镜像(images)

    相当于一个模板。每个镜像由(名称+版本号)唯一标识

  • 容器(container)

    相当于一个完全独立的服务器,根据一个镜像来生成一个容器。使用相同镜像生成的容器,其环境完全一致。一个容器也可以压缩成一个镜像。

首先,将当前用户添加到docker用户组,能够避免每次使用docker命令都需要加上sudo权限

sudo usermod -aG docker $USER

执行完上面的命令后,需要退出并重新登陆一下

logout

ssh aliyun

下面介绍docker的常用命令

镜像
  • docker pull ubuntu:20.04:拉取一个镜像(镜像由名称+版本号进行标识)
  • docker images:列出本地的所有镜像
  • docker rmi ubuntu:20.04:删除某个镜像
  • docker commit ConTAINER IMAGE_NAME:TAG:创建某个容器的镜像
  • docker save -o ubuntu_20_04.tar ubuntu:20.04:将镜像ubuntu:20.04导出到本地文件ubuntu_20_04.tar中
  • docker load -i ubuntu_20_04.tar:从本地文件ubuntu_20_04.tar中加载出镜像
容器
  • docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器(container可加可不加)

  • docker ps:查看当前运行的容器

  • docker ps -a:查看所有容器

  • docker start CONTAINER:启动容器(后面的CONTAINER是容器名称)

  • docker stop CONTAINER:停止容器

  • docker restart CONTAINER:重启容器

  • docker run -itd ubuntu:20.04:根据镜像ubuntu:20.04创建并启动一个容器(其中-d表示daemon,以守护进程运行)

  • docker attach CONTAINER:进入一个容器

    进入后,若想退出(仅退出容器,容器并不停止),先按Ctrl + p,再按Ctrl + q

  • docker exec ConTAINER COMMAND:在某个容器中执行一个命令

  • docker rm CONTAINER:删除一个容器

  • docker container prune:删除所有已停止的容器

  • docker export -o xxx.tar CONTAINER:将某个容器导出到本地xxx.tar文件中

  • docker import xxx.tar image_name:tag:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag

  • docker export/import与docker save/load的区别

    • export/import 会丢弃历史记录和元数据信息,仅保存容器当时的快照状态
    • save/load会保存完整记录,体积会更大
  • docker top CONTAINER:查看某个容器内的所有进程

  • docker stats:查看所有容器的统计信息(占用CPU,内存等)

  • docker cp xxx CONTAINER:xxx或docker cp CONTAINER:xxx xxx:在本地和容器之间复制文件

  • docker rename CONTAINER1 CONTAINER2:重命名容器

  • docker update ConTAINER --memory 500MB:给指定的容器修改内存限制为500MB

租好云服务器后,一定要先在云服务器内新建一个docker,然后以后直接在docker中操作,这样以后做服务器迁移,只需要给docker容器打个镜像,把镜像文件拷贝带走,然后在新服务器重新load这个docker镜像就好了。可以在任意的云平台进行迁移,很方便。不要在云服务器上直接施工。

租好云服务器,建好docker容器后,配置一下docker容器的ssh登录。下次直接从 AC Terminal登录到云服务器里的docker容器即可。

实际上述docker命令,工作中经常用到的,只是其中很小一部分,不需要记忆,现用现查即可。

实操练习

进入AC Terminal,将打包好的镜像,上传到自己的云服务器

scp xxx/docker_lesson_1_0.tar server_name:

ssh server_name # 登录自己租的云服务器
docker load -i docker_lesson_1_0.tar #从该文件中加载镜像
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0
# 创建并运行容器, 添加端口映射, 本地云服务器端口20000, 映射到docker内端口22
docker attach my_docker_server #进入docker容器
passwd #设置root密码

去云平台控制台中,修改安全组配置,放行端口20000

返回AC Terminal,通过ssh登录到自己云服务器内的docker

ssh root@xxx.xxx.xxx.xxx -p 20000

随后,按照上一节的内容,创建一个普通用户,并添加sudo权限

随后,退出,返回 AC Terminal

配置ssh

Host aliyun_docker
	HostName xxx.xxx.xxx.xxx #云服务器的ip
	User yogurt # 云服务器内docker容器的用户(刚才新创建的普通用户)
	Port 20000 # 从云服务器的20000端口登录进入docker

配置ssh免密登录

ssh-copy-id aliyun_docker

配置成功,直接在 AC Terminal 通过ssh登录到云服务器的docker容器中

ssh aliyun_docker

直接从 AC Terminal 登录到 云服务器里面的docker中进行操作

docker命令查询,可以通过官网:https://docs.docker.com/get-started/overview/

在搜索框中输入命令,进行查询即可,比如查询docker update

Linux基础课,完结撒花~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468155.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号