Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

系统结构

Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。

Docker通用场景

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker安装

系统要求:

内核大于:3.10

部署Docker

  • 使用https方法安装CA证书

sudo apt-get update
sudo
apt-getinstall apt-transport-https ca-certificates

  • 添加新的GPG密钥

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80
--recv-keys58118E89F3A912897C070ADBF76221572C52609D

  • 删除/etc/apt/sources.list.d/docker.list文件中的内容,修改为:

deb https://apt.dockerproject.org/repo
ubuntu-trusty main

  • 安装依赖软件包

sudo apt-get update
sudo
apt-get purgelxc-docker

sudo
apt-cachepolicydocker-engine

sudo
apt-get installlinux-image-extra-$(uname -r) linux-image-extra-virtual

  • 安装Docker

sudo apt-get install docker-engine

  • 启动Docker守护进程

sudo service docker start

  • 查看Docker信息

sudo docker info

Docker的使用

我们需要先下载一个原始镜像,原始镜像一般为linxu内核精简版,很多命令都不支持。需要自行安装。

查找Docker ubuntu镜像

sudo docker search ubuntu

下载ubuntu 镜像至本地

sudo docker pull ubuntu

查看本地的镜像

sudo docker images

使用ubuntu镜像运行一个容器

sudo docker run -it ubuntu /bin/bash

我们发现这个ubuntu容器不支持vim。

在容器中安装vim工具

退出容器,提交更改

docker ps -l #查看当前运行的容器
docker commit 21e6 ubuntu-vim #提交容器更改,保存镜像名为:ubuntu-vim

再次查看本地Docker镜像

sudo docker images

已经存在了刚才提交的:ubuntu-vim镜像

使用ubuntu-vim运行容器

发现提交的更改已经生效。已经存在vim命令。

  

部分Docker常用命令

  1. docker卸载:sudo apt-get purge docker-engine
  2. docker升级:sudo apt-get upgrade docker-engine
  3. 查看本地镜像:docker images
  4. 查看docker版本:docker version
  5. 查找镜像:docker search tutorial
  6. 下载镜像:docker pull ubuntu
  7. docker中运行helloworld:docker run ubuntu echo "hello word"
  8. 保存对容器的修改:docker commit 698 ubuntu
  9. 发布镜像:docker push ubuntu
  10. 为镜像打上tag:docker tag test:latest s101070791/test:latest
  11. 删除镜像:docker rmi imageName
  12. 保存镜像到本地:docker save -o centOS.tar centos
  13. 加载本地镜像:docker load --input centOS.tar
  14. 停止容器:docker stop 707c
  15. 打开ssh通道:docker run -p 10022:22 -d sshd1:ubuntu /run.sh

Docker相关网站:

https://docs.docker.com/

ubuntu14 安装和使用docker的更多相关文章

  1. 在Ubuntu 14.04安装和使用Docker

    Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...

  2. [转]在Ubuntu 14.04安装和使用Docker

    在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...

  3. 如何在Debian 9上安装和使用Docker

    介绍 Docker是一个简化容器中应用程序进程管理过程的应用程序.容器允许您在资源隔离的进程中运行应用程序.它们与虚拟机类似,但容器更便携,更加资源友好,并且更依赖于主机操作系统. 在本教程中,您将在 ...

  4. ubuntu上安装及使用docker

    关于Docker: Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器.Docker 在软件容器内自动部署应用程序.Docke ...

  5. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  6. Centos6.5安装和使用docker

    rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum install docke ...

  7. ubuntu16.04安装最新版docker、docker-compose、docker-machine

    安装前说明: 本文将介绍在ubuntu16.04系统下安装和升级docker.docker-compose.docker-machine. docker:有两个版本:docker-ce(社区版)和do ...

  8. Centos7下安装与卸载docker应用容器引擎

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...

  9. Docker的安装和使用说明——Docker for Windows

    一.Docker安装 1.1官方方法 官方下载页面:http://www.docker.com/products/docker#/windows 官方下载地址:https://download.doc ...

随机推荐

  1. BZOJ 3232: 圈地游戏 分数规划+判负环

    3232: 圈地游戏 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 966  Solved: 466[Submit][Status][Discuss] ...

  2. Ubuntu下apt-get与pip安装命令的区别

    在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别pip用来安装来自PyPI(h ...

  3. linux python升级及全局环境变量设置

    1.下载pythonwget https://www.python.org/ftp/python/3.4.5/Python-3.4.5.tgz 或者去官网下载压缩包 2.安装python3依赖yum ...

  4. [论文理解]Selective Search for Object Recognition

    Selective Search for Object Recognition 简介 Selective Search是现在目标检测里面非常常用的方法,rcnn.frcnn等就是通过selective ...

  5. mysql数据库操作手册

      1 存储过程的写法 以下是一个带有入参的存储过程模板, #删除方案-存储过程 CREATE PROCEDURE procPersonAppointRecallPlanByPlanUuidDelet ...

  6. SpringMVC-常用的注解

    1. RequestParam注解 把请求中的指定名称的参数传递给控制器中的形参赋值 value:请求参数中的名称 require:请求参数中是否必须提供此参数,默认值是true,必须提供 2. Re ...

  7. 禁止DataGridView控件中添加和删除行

    实现效果: 知识运用: DataGridView控件的AllowUserToAddRows AllowUserDeleteRows和ReadOnly属性 实现代码: private void btn_ ...

  8. CPP-基础:C/C++数组名与指针的区别

    2005-08-23 08:36 来源:天极网 作者:宋宝华 责任编辑:方舟·yesky 引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用.于是乎,很 ...

  9. 拨出网线后,网卡IP丢失

    /etc/network/interfaces与NetworkManager 问题:在Centos7上把网线拨出后,发现网卡状态是down,并且网卡上的IP丢失 原因:此网卡被NetworkManag ...

  10. mysql中的空值问题

    MySQL的查询如果需要用到空值的情况下,where后面的条件就需要注意了 MySQL中的表示空值的方法:is null 和 is not null 比如:select * from user whe ...