内容简介:听说好看的人才能点
序章
我,一位土生土长于 口袋大陆 的平凡人,本应按部就班,过着朝九晚五的生活,奈何命本不凡。
在少年时偶得一本奇书《Docker 宝典》,后闲来无事,开始翻看,痴迷于其中。
从此,我踏上了修炼 Docker 的不归路,开启了 996 的生活。
这本《我的 Docker 江湖》是我的笔记。
接下来的故事我将带你一起,见证这一路的修炼过程。
少侠,我们开始吧。
缘起
时间:很久很久很久以前…
地点:口袋大陆
怪老头:啊,靓仔,靓仔,别走啊,不得了,不得了啊!
我:怎么?
怪老头:你有道灵光从天灵盖喷出来,你知道吗?
年纪轻轻的,就有一身横练的筋骨,简直是百年一见的编程奇材。
如果有一天,让你打通任督二脉…那还不飞龙上天啊!
怪老头:正所谓:
我不入地狱,谁入地狱,警恶惩奸,维护世界和平这个任务,就交给你了,好吗?
怪老头:好的,好的,好的
怪老头:这本 《Docker 宝典》 是无价之宝,我看与你有缘,就免费传授给你吧!
我:这是啥?(先收了再说)
…
简介
初入 Docker 江湖 ,我将赠与你一张命令图谱。
当你在修炼中走火入魔时,可根据此图谱,找到正确的解法。
其中每一命令都有更深入的招式,我将会在后续的实践中,一一传授。
目录
Image 之'CRUD' 从 Dockerfile 创建镜像 根据容器的更改创建新镜像 查看镜像列表 查看镜像历史 添加镜像标签 删除镜像 Container 之 'CRUD' 创建一个新的容器 创建新的容器并执行命令 进入容器 查看容器列表 查看容器详情 查看容器内运行的进程 查看容器端口映射 查看容器资源占用信息 查看容器日志 查看服务器实时事件 更新容器配置 更新容器名称 删除容器 Image 保存/加载 保存镜像 加载镜像 Container 生命周期 启动容器 停止容器 暂停/恢复 重启容器 杀掉运行中的容器 等待容器退出 Container 导入/导出 导出容器 导入容器 Container 与本机交互 复制文件/文件夹(本机 ⇆ 容器) 检查容器内文件/文件夹的更改 镜像仓库 从 Docker Hub 搜索镜像 登录/退出 Docker 仓库 从镜像仓库拉取 & 更新/推送指定镜像 信息/版本 查看 Docker 系统范围信息 查看 Docker 版本信息
Image 之'CRUD'
从 Dockerfile 创建镜像
Usage:
docker build [OPTIONS] PATH | URL | -
Example:
docker build -t test/ubuntu:v1 .
根据容器的更改创建新镜像
Usage:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Example:
docker commit -m "test" bd3fa0536c33 ubuntu:test
查看镜像列表
Usage:
docker images [OPTIONS] [REPOSITORY[:TAG]]
Example:
docker images
查看镜像历史
Usage:
docker history [OPTIONS] IMAGE
Example:
docker history ubuntu
添加镜像标签
添加的 tag 可理解为创建了 link 链接到原来的镜像,他们具有相同的镜像 ID
执行 docker rmi RESPOSITORY[:TAG] 命令去删除镜像时,若有此镜像还有其它标签,仅会移除当前标签 Untagged ,镜像不会被移除。若当前镜像 ID 仅一个标签时,则会解除标签并删除镜像。
Usage:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Example:
docker tag ubuntu:latest testubuntu:latest
删除镜像
Usage:
docker rmi [OPTIONS] IMAGE [IMAGE...]
Example:
docker rmi 03b4557ad7b9
Container 之 'CRUD'
创建一个新的容器
create命令创建容器,默认为停止状态
Usage:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
Example:
docker create ubuntu
创建新的容器并执行命令
Usage:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Example:
docker run -it ubuntu bash
docker run -it ubuntu echo 'Hello Docker'
docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
进入容器
进入容器有两种方式: attach 与 exec 命令
attach 介绍:将本地的标准输入、输出、错误流附加到正在运行的容器。
attach 弊端:当多个窗口通过 attach 命令进入同一容器,所有窗口都会同步显示,当某个命令阻塞的时候,其它窗口也无法进行操作了。
exec 介绍:在一个运行的容器中执行命令。
exec 优点:通过制定 -it 参数来保持标准输入打开,并分配一个伪终端,执行 bash 会打开一个新的终端与容器进行交互,对其他用户不影响。
Usage:
docker attach [OPTIONS] CONTAINER
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Example:
docker attach bd3fa0536c33
docker exec -it bd3fa0536c33 bash
查看容器列表
Usage:
docker container ls [OPTIONS]
Aliases:
ls, ps, list
Example:
docker container ls
docker container ps
docker ps
docker container list
查看容器详情
inspect可查看镜像、容器详情
container inspect用来查看容器详情
Usage:
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
docker container inspect [OPTIONS] CONTAINER [CONTAINER...]
Example:
docker inspect bd3fa0536c33
docker container inspect bd3fa0536c33
查看容器内运行的进程
Usage:
docker top CONTAINER [ps OPTIONS]
Example:
docker top bd3fa0536c33
查看容器端口映射
Usage:
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
Example:
docker port bd3fa0536c33
查看容器资源占用信息
Usage:
docker stats [OPTIONS] [CONTAINER...]
Example:
docker stats bd3fa0536c33
查看容器日志
Usage:
docker logs [OPTIONS] CONTAINER
Example:
docker logs bd3fa0536c33
查看服务器实时事件
Usage:
docker events [OPTIONS]
Example:
docker events
更新容器配置
Usage:
docker update [OPTIONS] CONTAINER [CONTAINER...]
Example:
docker update --cpu-shares 512 ae540ed39427
更新容器名称
Usage:
docker rename CONTAINER NEW_NAME
Example:
docker rename ae540ed39427 test_ubuntu
删除容器
移除指定 CONTAINER 可通过 rm 命令
批量移除所有停止的 CONTAINER 可使用 prune 命令
Usage:
docker container rm [OPTIONS] CONTAINER [CONTAINER...]
docker container prune [OPTIONS]
Example:
docker container rm bd3fa0536c33
docker container prune
Image 保存/加载
保存镜像
Usage:
docker save [OPTIONS] IMAGE [IMAGE...]
Example:
docker save -o test_ubuntu.tar 3ff4930bc673
加载镜像
Usage:
docker load [OPTIONS]
Example:
docker load -i test_ubuntu.tar
Container 生命周期
启动容器
Usage:
docker start [OPTIONS] CONTAINER [CONTAINER...]
Example:
docker start bd3fa0536c33
停止容器
Usage:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
Example:
docker stop bd3fa0536c33
暂停/恢复
Usage:
docker pause CONTAINER [CONTAINER...]
docker unpause CONTAINER [CONTAINER...]
Example:
docker pause bd3fa0536c33
docker unpause bd3fa0536c33
重启容器
Usage:
docker restart [OPTIONS] CONTAINER [CONTAINER...]
Example:
docker restart bd3fa0536c33
杀掉运行中的容器
Usage:
docker kill [OPTIONS] CONTAINER [CONTAINER...]
Example:
docker kill bd3fa0536c33
等待容器退出
Usage:
docker wait CONTAINER [CONTAINER...]
Example:
docker wait bd3fa0536c33
Container 导入/导出
导出容器
Usage:
docker export [OPTIONS] CONTAINER
Example:
docker export -o docker_bak.tar bd3fa0536c33
导入容器
Usage:
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
Example:
docker import docker_bak.tar bak/ubuntu:v1.0
Container 与本机交互
复制文件/文件夹(本机 ⇆ 容器)
Usage:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Example:
docker cp bd3fa0536c33:/www /www/py_script/
docker cp /www/py_script bd3fa0536c33:/www/
检查容器内文件/文件夹的更改
Usage:
docker diff CONTAINER
Example:
docker diff
docker diff bd3fa0536c33
镜像仓库
从 Docker Hub 搜索镜像
Usage:
docker search [OPTIONS] TERM
Example:
docker search ubuntu
登录/退出 Docker 仓库
Usage:
docker login [OPTIONS] [SERVER]
Example:
docker login
docker login -u [username] -p [password]
docker logout
从镜像仓库拉取 & 更新/推送指定镜像
Usage:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
docker push [OPTIONS] NAME[:TAG]
Example:
docker pull ubuntu
docker push ubuntu:test1
信息/版本
查看 Docker 系统范围信息
Usage:
docker info [OPTIONS]
Example:
docker info
查看 Docker 版本信息
Usage:
docker version [OPTIONS]
Example:
docker version
未完待续
听说好看的人才能点
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。