一文读懂docker
来自:Linux基础课
docker教程
将当前用户添加到docker用户组
为了避免每次使用docker命令都需要加上sudo权限,可以将当前用户加入安装中自动创建的docker用户组(可以参考官方文档):
sudo usermod -aG docker $USER
镜像(images)
- docker pull ubuntu:20.04:拉取一个镜像
- docker images:列出本地所有镜像
- docker image rm ubuntu:20.04 或 docker rmi ubuntu:20.04:删除镜像ubuntu:20.04
- docker [container] commit CONTAINER IMAGE_NAME:TAG:创建某个container的镜像
- 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从本地文件ubuntu_20_04.tar中加载出来
容器(container)
- docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器。
- docker ps -a:查看本地的所有容器
- docker [container] start CONTAINER:启动容器
- docker [container] stop CONTAINER:停止容器
- docker [container] restart CONTAINER:重启容器
- docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器
- docker [container] attach CONTAINER:进入容器
先按Ctrl-p,再按Ctrl-q可以挂起容器 - docker [container] exec CONTAINER COMMAND:在容器中执行命令
- docker [container] rm CONTAINER:删除容器
- docker container prune:删除所有已停止的容器
- docker export -o xxx.tar CONTAINER:将容器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:修改容器限制
实战
进入AC Terminal,然后:
scp /var/lib/acwing/docker/images/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 # 创建并运行docker_lesson:1.0镜像docker attach my_docker_server # 进入创建的docker容器
passwd # 设置root密码
去云平台控制台中修改安全组配置,放行端口20000。
返回AC Terminal,即可通过ssh登录自己的docker容器:
ssh root@xxx.xxx.xxx.xxx -p 20000 # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址
然后,可以仿照上节课内容,创建工作账户acs。
最后,可以参考4. ssh——ssh登录配置docker容器的别名和免密登录。
小Tips
如果apt-get下载软件速度较慢,可以参考清华大学开源软件镜像站中的内容,修改软件源。
一文读懂docker相关推荐
- 一文读懂Docker及其对系统管理员的重要性
作者 | Damian Perera 编译 | 火火酱,责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 自从Docker在2013年初上线以来,就与程序员及系统管理员之间产 ...
- 一文读懂Docker、K8s
目标: docker原理以及在运维工作的地位和作用,运维工作进化论,docker.微服务.k8s的联系.devops和docker的关系,docker的前世今生 容器.镜像和仓库. 容器和虚拟化,优势 ...
- 一文读懂什么是EPP、EDR、CWPP、HIDS及业内主流产品
一文读懂什么是EPP.EDR.CWPP.HIDS及业内主流产品 当前终端安全概念包括:针对云工作负载保护平台cwpp.端点防护平台epp和终端全检测响应平台edr.HIDS品类(长亭牧云.青藤万相)更 ...
- 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面
1.引言 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂? ...
- 一文读懂阿里云网络 2020 云栖大会新品发布
凌云时刻 · 极鲜速递 导读:阿里云网络新品来袭! 来源 | 洛神云网络技术 前言 企业上云,网络先行.在 2020 云栖大会上,阿里云基础产品事业部网络产品团队负责人祝顺民宣布了云网络一系列新品发布 ...
- 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用
关键词/Nanopore测序技术 文/基因慧 随着基因测序技术不断突破,二代测序的发展也将基因检测成本大幅降低.理想的测序方法,是对原始DNA模板进行直接.准确的测序,消除PCR扩增带来的偏差, ...
- 一文读懂Faster RCNN
来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...
- 福利 | 一文读懂系列文章精选集发布啦!
大数据时代已经悄然到来,越来越多的人希望学习一定的数据思维和技能来武装自己,虽然各种介绍大数据技术的文章每天都扑面而来,但纷繁又零散的知识常常让我们不知该从何入手:同时,为了感谢和回馈读者朋友对数据派 ...
- 一文读懂EfficientDet
一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...
- 一文读懂序列建模(deeplearning.ai)之序列模型与注意力机制
https://www.toutiao.com/a6663809864260649485/ 作者:Pulkit Sharma,2019年1月21日 翻译:陈之炎 校对:丁楠雅 本文约11000字,建议 ...
最新文章
- 2022-2028年中国K酸行业发展现状及前瞻分析报告
- 3、使用二进制方式搭建K8S集群
- 动态加载js文件以支持跨域脚本
- 标记 (TAG) 您的 k8s 集群资源
- 【JAVA 第三章 流程控制语句】课后习题 月历打印
- AttributeError: module ‘urllib’ has no attribute ‘quote’的解决办法
- 【Linux命令】nm 查看动态库和静态库中的符号
- 如何在矩池云GPU云中跑DeepFaceLab
- 阿里云ACP认证考试笔记
- java 调用 pb dll_[转载]一个java调用delphi写的dll问题,郁闷了一天一晚解决
- html解压zip文件怎么打开方式,zip文件是什么文件,如何打开zip格式的文件?
- 北京亿阳信通java笔试题_亿阳信通笔试
- 个人工作资源(不断更新)
- 兔子生兔子问题(java实现)
- 为什么计算机里没有桌面显示不出来,电脑开机后桌面显示不出来如何修复_电脑开机后桌面没有东西的处理办法-系统城...
- VMware Workstation 15界面,英文改中文
- 如何实现一个“线程池”
- Redis分布式锁-这一篇全了解(Redission实现分布式锁完美方案)
- python运行github项目_从gitHub上拉取并运行项目
- 计算机网络课程设计(一)网络聊天程序的设计与实现