Docker 江湖之初入江湖

栏目: 编程工具 · 发布时间: 5年前

内容简介:听说好看的人才能点

序章

我,一位土生土长于 口袋大陆 的平凡人,本应按部就班,过着朝九晚五的生活,奈何命本不凡。

在少年时偶得一本奇书《Docker 宝典》,后闲来无事,开始翻看,痴迷于其中。

从此,我踏上了修炼 Docker 的不归路,开启了 996 的生活。

这本《我的 Docker 江湖》是我的笔记。

接下来的故事我将带你一起,见证这一路的修炼过程。

少侠,我们开始吧。

缘起

时间:很久很久很久以前…

地点:口袋大陆

怪老头:啊,靓仔,靓仔,别走啊,不得了,不得了啊!

我:怎么?

怪老头:你有道灵光从天灵盖喷出来,你知道吗?

年纪轻轻的,就有一身横练的筋骨,简直是百年一见的编程奇材。

如果有一天,让你打通任督二脉…那还不飞龙上天啊!

怪老头:正所谓:

我不入地狱,谁入地狱,警恶惩奸,维护世界和平这个任务,就交给你了,好吗?

怪老头:好的,好的,好的

怪老头:这本 《Docker 宝典》 是无价之宝,我看与你有缘,就免费传授给你吧!

我:这是啥?(先收了再说)

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"

进入容器

进入容器有两种方式: attachexec 命令

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

未完待续

Docker 江湖之初入江湖

听说好看的人才能点


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

结网@改变世界的互联网产品经理

结网@改变世界的互联网产品经理

王坚 / 人民邮电出版社 / 2013-5-1 / 69.00元

《结网@改变世界的互联网产品经理(修订版)》以创建、发布、推广互联网产品为主线,描述了互联网产品经理的工作内容,以及应对每一部分工作所需的方法和工具。产品经理的工作是围绕用户及具体任务展开的,《结网@改变世界的互联网产品经理(修订版)》给出的丰富案例以及透彻的分析道出了从发现用户到最终满足用户这一过程背后的玄机。新版修改了之前版本中不成熟的地方,强化了章节之间的衔接,解决了前两版中部分章节过于孤立......一起来看看 《结网@改变世界的互联网产品经理》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器