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. python基础教程总结8——特殊方法,属性,迭代器,生成器,八皇后问题

    1. 重写一般方法和特殊的构造方法 1.1 如果一个方法在B类的一个实例中被调用(或一个属性被访问),但在B类中没有找到该方法,那么会去它的超类A里面找. class A: ... def hello ...

  2. ucos-ii核心算法分析(转)

    μC/OS-Ⅱ是一种免费公开源代码.结构小巧.具有可剥夺实时内核的实时操作系统.其 内核提供任务调度与管理.时间管理.任务间同步与通信.内存管理和中断服务等功能.适合小型控制系统,具有执行效率高.占用 ...

  3. 【UML】概述

    前言 看完UML视频,很多人不明白UML到底是干什么用的,举个通俗的例子,就像盖房子一样,厨房卧室楼层之间怎么拼接,每个部分用什么材料,每个部分里放什么家具什么餐具,每个部分是干吗用的,UML就相当于 ...

  4. Django models多表操作

    title: Django models多表操作 tags: Django --- 多表操作 单独创建第三张表的情况 推荐使用的是使用values/value_list,selet_related的方 ...

  5. SC || 解决在git中上传过大文件的问题(如何将提交过的彻底删除

    就在我在ddl前续命的时候……不知道怎么想不开,把v2的压力测试的日志(500多M)也往github上传 之前听说过好多因为传了大文件的锅…… 我竟然还想不开的往上传…… 真实又傻又蠢又自闭(T T ...

  6. Eclipse+Tomcat搭建jsp服务器

    首先,安装java sdk 环境,这里就不多说了,附上java sdk的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk ...

  7. Bzoj 3450: Tyvj1952 Easy (期望)

    Bzoj 3450: Tyvj1952 Easy 这里放上题面,毕竟是个权限题(洛谷貌似有题,忘记叫什么了) Time Limit: 10 Sec Memory Limit: 128 MB Submi ...

  8. Golang TCP转发到指定地址

    Golang TCP转发到指定地址 第二个版本,设置指定ip地址 代码 // tcpForward package main import ( "fmt" "net&qu ...

  9. jsp常用动作

    jsp:include 动态包含: jsp:forward 转发: jsp:useBean 实例化bean对象: jsp:setProperty 设置一个属性值 jsp:getProperty 获取一 ...

  10. python3 连接 mysql和mariadb的模块

    是pymysql python2中是MySQL-python sudo pip install pymysql 参考博客https://www.jb51.net/article/140387.htm