Docker 江湖之初入江湖
source link: https://mp.weixin.qq.com/s?__biz=MzI1MTQwNTY0NA%3D%3D&%3Bmid=2247483732&%3Bidx=1&%3Bsn=8d9921e0427c7cd776148084b7111d8a&%3Bchksm=e9f23577de85bc617daba06c5a21c9979ec663c0ba29a67e8da4db2aeb860a30e3bf897
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
序章
我,一位土生土长于 口袋大陆 的平凡人,本应按部就班,过着朝九晚五的生活,奈何命本不凡。
在少年时偶得一本奇书《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
未完待续
听说好看的人才能点
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK