Docker 介绍和使用
Docker 技术可以实现容器装载软件和依赖库,类似于封闭的Linux系统,默认相当于有root权限,可以快速移植和部署到其他机器上。
Docker 容器技术可以理解为:仓库(储物间),镜像(类似于面向对象的类的概念,就是比如仓库去保存这些个镜像,好比仓库有好多个锄头,工具等),容器(就是从仓库里面的镜像拿来的具体物品,类似于OOP里面的实例)。
查看 Docker 的守护进程
service docker start
Docker 系统启动时运行
chkconfig docker on
登录 https://hub.docker.com/
docker login
查找官方仓库中的镜像
docker search
创建镜像
docker pull [ubuntu]
运行容器
docker run
-t -i
-d //后台运行
启动已终止容器
docker start
-i
终止容器
docker stop
终止并重启
docker restart
进入容器
docker attach
列出容器
docker ps
-a
查看容器输出信息
docker log
列出本地镜像
docker images
提交更新
docker commit
-m "" -a "作者"
修改镜像的标签
docker tag
创建新镜像 Dockerfile
docker buila
上传到仓库
docker push
导出镜像
docker save
裁入镜像
docker load
移除本地镜像
docker rmi
移除容器
docker rm
导出某个容器
docker export
导出某个容器
docker import
删除所有未运行 Docker 容器
docker rm $(docker ps -a -q)
删除所有 Docker 镜像
删除所有未打 tag 的镜像
docker rmi $(docker images -q | awk '/^<none>/ { print $3 }')
删除所有镜像
docker rmi $(docker images -q)
根据格式删除所有镜像
docker rm $(docker ps -qf status=exited)
docker ps # 查看当前正在运行的image实例
docker ps -a #查看所有镜像实例
docker run hello-world #验证docker是否在运行中
docker inspect <task or container> 检查任务或容器
#=================== 镜像操作 ========================
docker build -t <image-name> . #使用当前目录下的Dockerfile构建镜像
docker images #查看镜像
docker image ls -a 显示机器上所有的镜像
docker image rm <image id> 删除指定的镜像
docker image rm $(docker image ls -a -q) 删除所有的镜像
docker rmi [image-id/image-name] #删除指定的镜像,如docker rmi nginx
docker tag <image> <username>/<repository>:<tag> #为自定义的镜像打上tag。如:$docker tag hellopython followtry/demo:latest
docker push <username>/<repository>:<tag> #将自定义的镜像发布到仓库。如:docker push followtry/demo:lates
docker pull <username>/<repository> #pull自定义的上传上去的镜像。如:$docker pull followtry/demo
docker run username/repository:tag #运行仓库的镜像
#================== 容器操作 ========================
docker container ls #列出所有运行中的容器
docker container ls -a #列出所有容器,包括未运行的
docker container ls -q #只列出运行的容器的id集合
docker container stop <hash> # 优雅停用指定的容器
docker container kill <hash> #强制关闭指定的容器
docker container rm <hash> #删除指定的容器
docker container rm $(docker container ls -a -q) #删除所有的容器
docker run -d -p 8080:80 --name webserver nginx # 运行nginx镜像实例,-d:后台,-p:绑定端口8080到docker的80
docker stop <containerid/container-name> #停止容器webserver
docker start <containerid/container-name> #启动容器webserver
docker port <containerid/container-name> #查看指定容器的端口映射
docker logs -f <containerid/container-name> #查看指定容器的日志
docker top <containerid/container-name> #查看容器的进程
docker inspect <containerid/container-name> #检查容器的底层信息
docker rm <containerid/container-name>
Docker守护进程(daemon)与Docker命令行(CLI)
Docker守护进程(docker daemon)是运行在你的操作系统上的一个服务。目前,它只能运行在Linux上,因为它依赖于一些Linux内核特性(比如Cgroup与Namespace)。 但是,也有一些特殊的办法让Docker运行在MacOS与Windows上(运行在Linux虚拟机中)。
Docker守护进程提供了REST API。许多工具(Docker命令行,Docker Compose等)都可以通过REST API与Docker守护进程进行交互,例如创建容器,构建镜像等。
Docker命令行(docker CLI)是与Docker守护进程进行交互的主要工具。
#========================= HELP =========================================
docker --help 管理命令:
备注: 多数转载于 https://segmentfault.com/ ,供大家学习 学习地址:
container 管理容器
image 管理镜像
network 管理网络
命令:
attach 介入到一个正在运行的容器
build 根据 Dockerfile 构建一个镜像
commit 根据容器的更改创建一个新的镜像
cp 在本地文件系统与容器中复制 文件/文件夹
create 创建一个新容器
exec 在容器中执行一条命令
images 列出镜像
kill 杀死一个或多个正在运行的容器
logs 取得容器的日志
pause 暂停一个或多个容器的所有进程
ps 列出所有容器
pull 拉取一个镜像或仓库到 registry
push 推送一个镜像或仓库到 registry
rename 重命名一个容器
restart 重新启动一个或多个容器
rm 删除一个或多个容器
rmi 删除一个或多个镜像
run 在一个新的容器中执行一条命令
search 在 Docker Hub 中搜索镜像
start 启动一个或多个已经停止运行的容器
stats 显示一个容器的实时资源占用
stop 停止一个或多个正在运行的容器
tag 为镜像创建一个新的标签
top 显示一个容器内的所有进程
unpause 恢复一个或多个容器内所有被暂停的进程
http://www.docker.org.cn/ docker中文网
https://segmentfault.com/
https://docs.docker.com
https://www.docker.com/ 学习书籍:
《docker技术入门与指南》
http://www.docker.org.cn/dockershuji.html
Docker 介绍和使用的更多相关文章
- docker 介绍
docker 介绍 安装 sudo apt-get install docker.io sudo docker info 查看是否安装成功 hello world sodu docker run he ...
- Docker介绍基本概念(一)
Docker介绍基本概念 1.什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西. Docker是世界领先的软件容器平台. Docker使用 ...
- Docker 介绍及安装
Docker介绍 Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). Docker基于go语言并遵从Apache2.0协议 ...
- Docker应用一:docker介绍
Docker介绍与安装 一.Docker与传统虚拟化区别 直接看下图: 传统虚拟化实现架构 doc ...
- Docker介绍及安装
Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...
- docker介绍和简单使用
docker介绍 docker 为什么会有docker出现? 一款产品从开发到上线,从操作系统到运行环境,再到应用配置,作为开发+运维直接的协作我们需要关心很多东西,这也是互联网公司不得 不面对问题, ...
- docker介绍和安装(一)
虚拟化简介 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 ...
- Docker介绍及安装(一)
一.Docker简介 1.1 docker介绍 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的cgroup,namespace,以及 AUFS 类的 ...
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- docker 介绍及安装操作
docker 介绍及安装操作 1.docker概述 2.docker安装及操作 1.docker概述: Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源 是在L ...
随机推荐
- jenkins动态参数插件Dynamic Parameter安装及简单使用
插件安装: 1.先下载插件hpi文件到本地 jenkins插件下载地址 http://mirror.xmission.com/jenkins/plugins/ http://updates.jen ...
- 在 Android Studio 上调试数据库 ( SQLite ) (转)
转自:http://c.colabug.com/thread-1781696-1-1.html 以前 Eclipse 时代,调试 SQLite 都是将数据库文件导出到电脑,然后再用软件打开查看.现在我 ...
- oracle中的to_number在mysql中的转换
select cast(11 as unsigned int) /*整型*/ select cast(11 as decimal(10,2)) /*浮点型*/ 注:(10,2)代表数字共十位,小数点后 ...
- TZOJ 2415 Arctic Network(最小生成树第k小边)
描述 The Department of National Defence (DND) wishes to connect several northern outposts by a wireles ...
- f5基本介绍
1.信息查看 1)登录: https://10.160.100.10 f5有2台,做HA IP地址分别为10.160.100.3和10.160.100.2 10.160.100.10为虚拟地址 2)基 ...
- Delphi: Class Static Methods
在Delphi中,自Delphi 2007之后,支持static形式的class方法,样式比如: type TMyClass = class strict private class var FX: ...
- Composer 安装以及使用方法
Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. Linux 下安装 curl -sS https://getcomposer.org/ ...
- js拷贝指定内容到剪切板
function copyTextToClipboard(text) { var textArea = document.createElement("textarea"); te ...
- CSS背景background图片
一.CSS背景background图片 - TOP 1.背景图片语法background-image:url() 引入背景图片background-repeat:no-repeat 设置背景图 ...
- 5C - A == B ?
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "N ...