阿里云docker常用命令

本笔记为阿里云天池龙珠计划Docker训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/activity/promotion/aicampdocker

阿里云docker常用命令

docker 三要素:镜像(image)、容器(contarin)、registry(包含多个仓库)
镜像:顾名思义就是咱们将要把代码和环境打包在一起的这个产物,就是镜像。
registry:那么镜像存储在哪里呢 所以就有了 registry,是各云厂商提供的镜像存取 服务,类似网盘,将镜像存储在云端仓库,方便我们随时随地在不同的介质上运行自己的代 码或分享代码。比如你要把本地开发好的代码放在服务器上做耗时的训练动作,那么只需要 在服务器上直接拉取自己云端的镜像运行即可。当然除了存储以外还有诸如版本管理等服务 功能,类似 git。
容器:运行起来的镜像我们称之为容器,可以理解为运行环境或者实例。其实质是进程, 随着代码运行结束,进程结束容器也就消失了。

安装docker

sudo curl -sS https://get.docker.com/ | sh

测试

docker run hello-world 

$ docker --version
Docker version 19.03.8, build afacb8b

$ docker-compose --version
docker-compose version 1.25.5, build 8a1c60f6
(这一条运行失败)

拉取镜像

docker pull [选项] [docker 镜像地址:标签]

如:

docker pull hello-world:latest

运行镜像

docker run hello-world:latest

运行镜像并进入容器

$ docker run -it --rm ubuntu:18.04 bash

docker run 就是运行容器的命令,后面如果只跟镜像,那么就执行镜像的默认命令然 后退出。
-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
--rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的 容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结 果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
ubuntu:18.04:这是指用 ubuntu:18.04 镜像为基础来启动容器。
bash:放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 bash。 进入容器后,我们可以在 Shell 下操作,执行任何所需的命令。通过 exit 退出。

 root@e7009c6ce357:/# uname -a 
 Linux bff9f261bab2 4.15.0-106-generic #107-Ubuntu SMP Thu Jun 4 11:27:52 UTC 2 020 x86_64 x86_64 x86_64 GNU/Linux 
 root@e7009c6ce357:/# exit

查看本地镜像

docker images

IMAGE ID 是镜像的唯一标识。

查看运行中的容器:

docker ps 

docker ps 罗列的是当前活跃的容器。

CONTAINER ID 容器唯一 id 可以通过指定这个 ID 操作 exec shell 进入容器、 commit 这个容器的修改、tag 给这个容器打标签等。

查看所有容器:

docker ps -a

进入运行中/后台运行的容器

docker exec -it [CONTAINER ID] /bin/bash

进入运行中的容器后不仅可以调试镜像,还可以对镜像做修改如安装 python 包

保存修改

docker commit [CONTAINER ID] registry.cn-shanghai.aliyuncs.com/test/pytorch:myver sion

注意:通过 commint 的形式保存现场为一个新的镜像虽然也能直观的达到构建新镜像 的目的,但是实际操作中,并不推荐这种形式,因为 1.commit 操作不仅会把有用的修改保 存下来,对一些无关的修改也会保存下来(每一个命令行操作都会生成存储如 ls 操作)就 会导致镜像比较臃肿;2.因为 commit 操作属于黑箱操作,后续如果有什么问题维护起来会 比较麻烦。 建议 commit 仅作为保留现场的手段,然后通过修改 dockerfile 构建镜像

打TAG

有时需要对临时版本,或者节点版本做一个标记保留,打 TAG 标签非常好用,并不会 额外占用空间:

docker tag registry.cn-shanghai.aliyuncs.com/test/pytorch:myversion my_tmp_version: 0.1

推送镜像到仓库

docker push registry.cn-shanghai.aliyuncs.com/test/pytorch:myversion

删除镜像

docker rmi REPOSITORY:TAG
docker rmi registry.cn-shanghai.aliyuncs.com/target:test

删除容器

docker rm [CONTAINER ID]

如果容器还在运行,则会删除失败,应先结束掉容器:

docker kill [CONTAINER ID]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值