Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

推荐学习docker的网址:https://www.w3cschool.cn/reqsgr/

一、docker常用命令

docker容器生命周期管理

docker run  在一个新的容器执行一个命令

docker start 开一个或者更多已经停止的容器

docker stop 停止一个运行的容器

docker restart 重新开始一个运行的容器

docker kill 杀死一个运行的容器

docker rm 删除一个或更多的容器

docker pause 暂停一个容器的所有进程

docker unpaunse 恢复一个容器的所有进程

docker容器操作运维

docker ps 列出容器

docker inspect 列出关于容器或镜像的底层信息

docker top 显示一个容器运行的进程

docker attach 附上一个运行的容器

docker events 得到实时的来自服务的事件

docker log 获得一个容器的日志

docker wait 阻塞直到一个容器停止,然后打印它的退出代码

docker export 导出一个容器的文件系统作为一个tar文件

docker port 列出容器映射的端口

docker版本管理

docker commit 创建一个新的镜像从一个容器

docker cp 从容器复制一个文件或目录到本地目录或标准输出

docker diff 展示一个容器文件系统的变化

docker镜像仓库

docker login 登入仓库

docker pull 拉取镜像

docker push 推送镜像

docker search 搜索镜像

docker本地镜像管理

docker images 列出本地的镜像

docker rmi 删除本地的镜像

docker tag 打标签本地的镜像

docker build 通过Dockerfile构建本地的镜像

docker histroy 列出镜像的历史

docker save 保存本地的镜像为一个tar文件

docker import 通过tar导入镜像

docker load 加载tar镜像

docker其它命令

docker info

docker version

二、docker私有仓库操作

1.  配置docker daemon的参数,由于每个发行版的linux的init系统不用,所以使用通用的命令行方式重启docker daemon

docker daemon --insecure-registry 192.168.6.65:5000 &

2. 认证私有仓库

docker login -u -p -e 192.168.6.65:5000

3. 拉取镜像

docker pull 192.168.6.65:5000/centos:latest

4. tag本地镜像

docker tag 192.168.6.65:5000/centos:1.0.0 192.168.6.65:5000/centos:latest

5. 推送镜像

docker push 192.168.6.65:5000/centos:1.0.0

6.docker, mac 的镜像目录

/Users/{YourUserName}/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2  保存到文件当中

三、docker run 命令详解

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

-d,--detach=false指定容器运行于前台还是后台,默认为false

-i,--interactive=false打开STDIN,用于控制台交互

-t,--tty=false分配tty设备,该可以支持终端登录,默认为false

-u,--user=""指定容器的用户

-a,--attach=[]            登录容器(必须是以docker run -d启动的容器)

-w,--workdir=""指定容器的工作目录

-c,--cpu-shares=0设置容器CPU权重,在CPU共享场景使用

-e,--env=[]               指定环境变量,容器中可以使用该环境变量

-m,--memory=""指定容器的内存上限

-P,--publish-all=false指定容器暴露的端口

-p,--publish=[]           指定容器暴露的端口

-h,--hostname=""指定容器的主机名

-v,--volume=[]            给容器挂载存储卷,挂载到容器的某个目录

--volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录

--cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities

--cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities

--cidfile=""运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法

--cpuset=""设置容器可以使用哪些CPU,此参数可以用来容器独占CPU

--device=[]                添加主机设备给容器,相当于设备直通

--dns=[]                   指定容器的dns服务器

--dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件

--entrypoint=""覆盖image的入口点

--env-file=[]              指定环境变量文件,文件格式为每行一个环境变量

--expose=[]                指定容器暴露的端口,即修改镜像的暴露端口

--link=[]                  指定容器间的关联,使用其他容器的IP、env等信息

--lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用

--name=""指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

--net="bridge"容器网络设置:

bridge 使用docker daemon指定的网桥

host    //容器使用主机的网络

container:NAME_or_ID>//使用其他容器的网路,共享IP和PORT等网络资源

none 容器使用自己的网络(类似--net=bridge),但是不进行配置

--privileged=false指定容器是否为特权容器,特权

容器拥有所有的capabilities

--restart="no"指定容器停止后的重启策略:

no:容器退出时不重启

on-failure:容器故障退出(返回值非零)时重启

always:容器退出时总是重启

--rm=false指定容器停止后自动删除容器(不支持以docker run -d启动的容器)

--sig-proxy=true设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

example:

1.docker run -d--name=server-db -p 3306:3306 centos6.8-mysql /usr/bin/mysql_safe –d

主机3306端口映射到容器3306端口

2.docker run -it --rm  centos6.8  容器结束后自动删除

3.docker run -d--name=server-db -p 3306:3306 -v /server/mysql-data:/mysql-data centos6.8-mysql /usr/bin/mysql_safe –d

将主机的/server/mysql-data 目录映射到容器 /mysql-data 中

四、docker 技巧

1..清理无用的docker容器命令

docker ps -aqf  status=exited | xargs docker rm

2.清理无用镜像的命令

docker images -qf dangling=true | xargs docker rmi

3.清理无用的docker挂载

docker volume rm $(docker volume ls -q -f dangling=true)

dockerignore使用

类似.gitignore一样,运行Dockerfile里的COPY指令的时候会根据.dockerignore进行部分目录或者文件忽略。

docker的架构如下图 :

转载于:https://www.cnblogs.com/activecode/p/9426358.html

Docker虚拟化容器的使用相关推荐

  1. docker虚拟化容器技术

    docker虚拟化容器技术 1.安装 2.查看docker服务 3.卸载 4.帮助命令 5.镜像命令 1.安装 #安装方式一 curl -fsSL https://get.docker.com | b ...

  2. Docker虚拟化容器技术(用在虚拟机上),VirtualBox中linux虚拟机联网的问题

    Docker虚拟化容器技术(用在虚拟机上),VirtualBox中linux虚拟机联网的问题 文章目录 前言:安装Docker,则先安装Linux虚拟机(我的CSDN中有发) 一.要解决在Virtua ...

  3. 视频教程-Docker虚拟化容器-区块链

    Docker虚拟化容器 多年互联网从业经验: 有丰富的的企业网站.手游.APP开发经验: 曾担任上海益盟软件技术股份有限公司项目经理及产品经理: 参与项目有益盟私募工厂.睿妙影音家庭物联网设备.手游东 ...

  4. 虚拟化容器Docker的安全性讨论

    一.Docker所采用的安全机制分析 评估 Docker 的安全性时,主要考虑三个方面: 由内核的名字空间和控制组机制提供的容器内在安全 Docker程序(特别是服务端)本身的抗***性 内核安全性的 ...

  5. Docker技术( 容器虚拟化技术 )

    Docker--容器虚拟化技术 第一章 Docker介绍 诞生背景 Docker 介绍 虚拟机技术与容器虚拟化技术 虚拟机技术 容器虚拟化技术 官方网址 第二章 Docker安装 前提条件 安装Doc ...

  6. 使用Docker虚拟化出一个Centos7操作系统(140、141机器上执行)

    1.使用Docker虚拟化出一个Centos7操作系统(140.141机器上执行) Docker官网:https://docs.docker.com/ Docker文档:https://docs.do ...

  7. docker停止容器后配置_整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划...

    作者 | IronmanJay 责编 | 王晓曼 出品 | CSDN博客 Docker 基础介绍 下图为 Docker 图标(是一个鲸鱼上面是集装箱). 1.我们为什么要使用Docker 当我们在工作 ...

  8. centos8上docker tomcat容器访问报404解决方法

    目录 [README] [1]docker安装tomcat [2]启动多个tomcat容器 [README] 1.本文记录了 访问docker tomcat容器报404的解决方法: 2.附带安装tom ...

  9. Docker,容器,虚拟机和红烧肉

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Docker是什么?容器又是什么? Docker 直译:码头工人.是在码头上搬运货物的工人 容器 英 ...

最新文章

  1. 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第二弹)
  2. RDLC SubReports Exporting to Excel Are Ignored
  3. jQuery easyUI--选项卡右键菜单
  4. 微服务架构 性能提升_如何通过无服务器架构提高性能
  5. 实验管理员掌握的计算机知识,计算机应用基础知识概述试验.DOC
  6. 底部显示水平滚动_LG专利展示带有可滚动显示屏和触控笔的智能手机
  7. PMP复习整理考点篇【3】--- 风险应对策略
  8. 携手强化「内容审核」能力,融云与数美科技达成战略合作
  9. 微信群聊图灵机器人 复制直接用
  10. 安卓app开机自启动的几种方式
  11. 靖江最正宗过年习俗 只有3%的人完全继承下来了
  12. 2小时开发《点球射门游戏》,动画演示思路(上),代码已开源
  13. canu三代组装软件安装
  14. WPF中DataGrid绑定数据显示
  15. Computer Vision—计算机视觉 (一)
  16. HIN 异构信息网络(Heterogeneous Information Network)
  17. android 自定义view仿通讯录
  18. 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(网络与信息安全)
  19. python视频教程唐学韬-计算机基础经典书籍推荐——Python语言
  20. 打架必备!擒敌拳1-16动连贯动作 分解动作

热门文章

  1. 行走智慧城市 数据要有统一“身份”
  2. WPF MeshGeometry3D中的Normals和TextureCoordinates属性
  3. 新浪api 40022错误
  4. 【cocos2d-x】游戏构成要素②----使用多个层
  5. fedora 17 安装极点五笔
  6. 2011百度之星初赛B圆环
  7. 教程:从FLASH过渡到SILVERLIGHT.(实例+源码)
  8. 2018中国计算机大会,阿里云分布式存储架构师:自研分布式文件系统服务
  9. Centos6 破解系统密码
  10. maven(3)------maven构建web项目详细步骤