摘要:核心概念镜像镜像类似于虚拟机镜像。每个镜像包括了一个基本的操作系统环境容器容器类似于一个轻量级的沙箱,利用容器来运行和隔离应用。
这些是我的笔记,都是记录的核心概念和使用方法概述
使用docker搭建开发环境将近1年了,自我感觉docker的强大并非如此,不过没有机会将docker部署生产环境,有位架构师曾说过,最新的未必是最好的,架构要选择最佳的,请大家也慎重。
核心概念 镜像 ImageDocker镜像类似于虚拟机镜像。每个镜像包括了一个基本的操作系统环境
容器 ContainerDocker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。可以把容器看做一个简易版的linux系统环境
仓库 RepositoryDocker仓库类似于代码仓库,它是Dokcer集中存放镜像文件的场所
数据管理生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然要涉及容器的数据管理操作
容器中管理数据主要有两种方式:
数据卷
数据卷容器
挂载一个主机目录作为数据卷docker run -d -P --name web -v /localhost-path:/server-path NAME:TAG端口映射 端口映射实现访问容器 从外部访问容器应用
要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射。当使用-P标记时,docker会随机映射一个49000~49900的端口到内部容器开放的网络端口
docker run -d -P NAME:TAG映射所有接口地址
docker run -d -p 5000:5000 NAME:TAG
-p 可以标记多个端口
docker run -d -p 5000:5000 -p 3000:80 NAME:TAG映射到指定地址的指定端口
docker run -d -p 127.0.0.1:5000:5000 NAME:TAG映射到指定地址的任意端口
使用IP::ContainerPort 绑定localhost的任意端口到容器的5000端口,本地主机会自动分配一个端口
docker run -d -p 127.0.0.1::5000 NAME:TAG
还可以使用udp标记来指定udp端口
docker run -d -p 127.0.0.1:5000:5000/udp NAME:TAG查看映射端口配置
docker port nostalgic_morse PORT容器互联 自定义容器命名
使用--name标记可以为容器自定义命名
docker run -d -P --name web NAME:TAG查看容器名字
docker inspect -f "{{ .Name }}" 容器id容器互联
使用--link参数可以让容器之间安全的进行交互
docker run -d --name db NAME:TAG docker run -d -P --name web --link db:db NAME:TAG使用Docker镜像 下载镜像
docker pull NAME[:TAG]创建容器
docker run -it NAME:TAG SERVICE查看镜像
docker images
REPOSITOPY 来自于哪个仓库
TAG 镜像的标签信息
IMAGE ID 镜像的ID
CREATED 创建时间
SIZE 镜像大小
给镜像打标签docker tag NAME:TAG NEWNAME:TAG查看镜像详细信息
docker inspect NAME:TAG查看镜像历史
docker history NAME:TAG搜索镜像
docker search NAME删除镜像
docker rmi IMAGE删除容器
docker rm 容器ID创建镜像 基本已有镜像的容器创建
docker commit [OPTIONS] CONTAINER [REPOSITOPUY[:TAG]] -a , --author="" // 作者信息 -c , --change=[] -m , --message="" // 提交消息 -p , --pause=true // 提交时暂停容器运行 docker commit -m "added a new file " -a "crazy" 58fe3bd5b3e6 test:0.1基于本地模板导入
cat 本地包 | docker import - 导入的镜像名称导出镜像
docker save -o 导出文件名 导出的镜像载入镜像
docker load --input 本地镜像名称 // 或者 docker load < 本地镜像名称查看镜像详细信息
docker inspect NAME:TAGDocker相关的快捷命令 停用全部运行中的容器:
docker stop $(docker ps -q)删除全部容器
docker rm $(docker ps -aq)一条命令实现停用并删除容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)删除所有未打 tag 的镜像
docker rmi $(docker images -q | awk "/^删除所有镜像/ { print $3 }")
docker rmi $(docker images -q)致谢
感谢看完我的这篇白话文,这是我学习docker的过程,都是一些关键的命令和概念,希望可以帮到你,有什么问题可以评论区讨论,互相学习
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27345.html
摘要:深入浅出容器云系列文章是由时速云出品,本文是第二篇,欢迎大家不吝赐教。容器服务是一种高度可扩展的高性能容器管理服务,服务于应用的完整生命周期。存储卷容器服务支持有状态和无状态服务。当容器重新部署时也会随着容器在不同主机之间迁移。 导语:随着以Docker为代表的容器技术在国内的迅速发展,容器云也逐渐被广大开发者所熟知,但容器云(CaaS)相比传统的云主机(IaaS)在实际应用中还存在着...
摘要:二缘起对于一个普通的屌丝创业公司的屌丝项目来说,理论上来说是没必要用太复杂的技术的,对新技术的克制也是码农的一个职业操守。 Docker出现后,容器技术在互联网领域得到了空前的普及,无论是大公司还是屌丝创业公司的码农基本上都会在各种技术社区或者各种演讲会议上了解到过相关技术,我们作为一家屌丝创业公司也不例外,去年对Docker做了一番了解,并在年前测试了一些方案,今天在这里总结一下遇到...
摘要:二缘起对于一个普通的屌丝创业公司的屌丝项目来说,理论上来说是没必要用太复杂的技术的,对新技术的克制也是码农的一个职业操守。 Docker出现后,容器技术在互联网领域得到了空前的普及,无论是大公司还是屌丝创业公司的码农基本上都会在各种技术社区或者各种演讲会议上了解到过相关技术,我们作为一家屌丝创业公司也不例外,去年对Docker做了一番了解,并在年前测试了一些方案,今天在这里总结一下遇到...
摘要:二缘起对于一个普通的屌丝创业公司的屌丝项目来说,理论上来说是没必要用太复杂的技术的,对新技术的克制也是码农的一个职业操守。 Docker出现后,容器技术在互联网领域得到了空前的普及,无论是大公司还是屌丝创业公司的码农基本上都会在各种技术社区或者各种演讲会议上了解到过相关技术,我们作为一家屌丝创业公司也不例外,去年对Docker做了一番了解,并在年前测试了一些方案,今天在这里总结一下遇到...
摘要:容器作为一类操作系统层面的虚拟化技术,其目标是在单一主机交付多套隔离性环境,容器共享同一套主机操作系统内核。与其它容器平台不同,引入了一整套与容器管理相关的生态系统。每个容器都是相互隔离的保证安全的平台。 导读:本文章对Docker技术进行了介绍,阐述了Docker的技术发展历程、容器与虚拟机的差异、Docker原理、特点、Docker三组件和Docker带来的影响,为我们进一步理解D...
阅读 3514·2023-04-25 20:09
阅读 3720·2022-06-28 19:00
阅读 3035·2022-06-28 19:00
阅读 3058·2022-06-28 19:00
阅读 3131·2022-06-28 19:00
阅读 2859·2022-06-28 19:00
阅读 3014·2022-06-28 19:00
阅读 2610·2022-06-28 19:00