资讯专栏INFORMATION COLUMN

Docker笔记整理(1)

leo108 / 1140人阅读

摘要:虚拟化技术虚拟化的划分应用虚拟化平台虚拟化完全虚拟化硬件辅助虚拟化部分虚拟化准虚拟化操作系统虚拟化的位置帮助文档核心早期简称技术版本以后安装流程卸载旧版本旧版本的称为或者可选内核模块添加国内源官方源

虚拟化技术 虚拟化的划分

应用虚拟化

平台虚拟化

完全虚拟化

硬件辅助虚拟化

部分虚拟化

准虚拟化

操作系统虚拟化 Docker的位置

帮助文档 docker [OPTIONS] --help
Docker核心

早期: Linux Containers 简称 LXC技术
0.9版本以后: libcontainer libcontainer

安装流程 Ubuntu 卸载旧版本

旧版本的Docker称为docker或者docker-engine

sudo apt-get remove docker 
            docker-engine 
            docker.io
Ubuntu 14.04 可选内核模块
sudo apt-get update

sudo apt-get install 
            linux-image-extra-$(uname -r) 
            linux-image-extra-virtual
添加国内源
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
安装 Docker CE
sudo apt-get update
sudo apt-get install docker-ce

使用脚本安装

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
启动 Docker CE
sudo systemctl enable docker
sudo systemctl start docker
ubuntu 14.04
sudo service docekr start

建立docker用户组

sudo groupadd docker
# 将当前用户加入docker用户组
sudo usermod -aG docker $USER
测试安装
docker run hello-world
镜像篇
# 查看镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]

# -a -all bool 列出所有镜像文件,包括临时 默认false
# --digests bool 列出所有镜像文件的数字标识 默认为false
# -f --filter list 过滤规则
# --format string 输出格式,类似Golang的template
# --no-trunc bool 不对输出结果太长的进行截断 默认为false
# -q --quiet bool 仅输出id 默认为false

# 拉取镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

# 添加镜像标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# 查看该镜像的详细信息
docker inspect [OPTIONS] NAME|ID [NAME|ID...]

# 查看镜像的每个层
docker history [OPTIONS] IMAGE

# 搜索镜像
docker search [OPTIONS] TERM
# --no-trunc bool 不对输出结果太长的进行截断 默认为false
# --limit int 最大搜索结果长度

# 删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
# 如果镜像有容器,可以使用-f强势删除,但不推荐

# 创建镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# -a --author string 作者
# -c --change list 提交时执行的指令
# -m --message string 提交信息
# -p --pause bool 提交时暂停容器运行

# 将容器导出到归档文件
docker export [OPTIONS] CONTAINER
# -o --output string 写入到文件

# 将归档容器导入为镜像
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
# -c --change list 提交时执行的指令
# -m --message string 提交信息

# 存储镜像
docker save [OPTIONS] IMAGE [IMAGE...]
# -o --output string 写入到文件

# 加载镜像
docker load [OPTIONS]
# -i --input string 文件加载

镜像总结
最后,上一张思维导图来总结镜像篇的知识点

容器篇 启动容器的过程

检查本地是否有镜像

利用镜像创建容器,并启动该容器

分配一个文件系统给容器,并在只读的镜像层挂载一层可读写层

从宿主主机配置的网桥接口中桥接一个虚拟接口到容器

从网桥的地址池配置一个ip给容器

执行用户指定的应用程序

执行完毕后自动终止

# 创建容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 处于运行状态
# -d --detach 守护态运行

# 创建容器
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
# 处于暂停状态
# 查看容器
docker ps [OPTIONS]

# 停止容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
# -t --time int 等待数秒后停止 默认为10秒

# 启动容器
docker start [OPTIONS] CONTAINER [CONTAINER...]

# 重启容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]

# 删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# -v --volumes 删除volumes

# 在运行中的容器执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# -e --env list 配置环境
# -i --interactive 打开标准输入流
# -t --tty 分配伪终端
# -u --user string 用户名或者UID

# 绑定输入,输出和错误流
docker attach [OPTIONS] CONTAINER
# --detach-key string 退出attach模式快捷键
# --no-stdin 不绑定输入流
扩展: 使用nsenter进入容器 四种进入容器的方法

容器总结
最后,上一张思维导图来总结镜像篇的知识点

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27452.html

相关文章

  • AI开发书籍分享

    摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...

    huayeluoliuhen 评论0 收藏0
  • Dockerfile 与 Compose 环境搭建学习笔记(一)

    摘要:的主要作用是自己根据基础镜像,重新定制镜像,而不是直接从官方仓库拿现成的使用。以接下来要构建的环境来说明下,下面我将要搭建一个的开发环境,需要进行配合。它的主要作用是持久化数据,避免容器销毁后内部数据丢失暴露到宿主机的端口。 以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流...

    TZLLOG 评论0 收藏0

发表评论

0条评论

leo108

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<