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 江湖之初入江湖

听说好看的人才能点


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

查看所有标签

猜你喜欢:

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

蚁群算法及其应用

蚁群算法及其应用

李士勇 / 哈工大出版社 / 2004-9 / 25.00元

蚁群算法是意大利学者Dorigo等人于1991年创立的,是继神经网络、遗传算法、免疫算法之后的又一种新兴的启发式搜索算法。蚂蚁群体是一种社会性昆虫,它们有组织、有分工,还有通讯系统,它们相互协作,能完成从蚁穴到食物源寻找最短路径的复杂任务。模拟蚂蚁群体智能的人工蚁群算法具有分布计算、信息正反馈和启发式搜索的特点,不仅在求解组合优化问题中获得广泛应用,而且也用于连续时间系统的优化。 《蚁群算......一起来看看 《蚁群算法及其应用》 这本书的介绍吧!

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

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具