docker笔记-docker-basic

1
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
Docker 和传统虚拟化方式的不同之处,在于docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

2
Docker 镜像就是一个只读的模板。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

3 centos上安装启动
安装:
$ sudo yum install docker

安装之后启动 Docker 服务,并让它随系统启动自动加载。
$ sudo service docker start
$ sudo chkconfig docker on

4
使用 docker pull 命令来从仓库获取所需要的镜像。
$ sudo docker pull ubuntu:12.04
启动镜像
$ sudo docker run -t -i ubuntu:12.04 /bin/bash

5 列出本地镜像
$ sudo docker images

6 修改已有镜像
$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;
-a 可以指定更新的用户信息;
之后是用来创建镜像的容器的 ID;
最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。

7 利用 Dockerfile 来创建镜像
使用 docker commit 来扩展一个镜像比较简单,也可以使用 docker build 来创建一个新的镜像。
Dockerfile 中每一条指令都创建镜像的一层,例如:

# This is a comment
FROM ubuntu:14.04
MAINTAINER Docker Newbee <[email protected]>
RUN apt-get -qq update
RUN apt-get -qqy install ruby ruby-dev
RUN gem install sinatra
Dockerfile 基本的语法是

FROM 指令告诉 Docker 使用哪个镜像作为基础
接着是维护者的信息
RUN开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件
编写完成 Dockerfile 后可以使用 docker build 来生成镜像。

$ sudo docker build -t="ouruser/sinatra:v2" .
其中 -t 标记来添加 tag,指定新的镜像的用户信息。 “.” 是 Dockerfile 所在的路径(当前目录),也可以替换为一个具体的 Dockerfile 的路径。

此外,还可以利用 ADD 命令复制本地文件到镜像;
用 EXPOSE 命令来向外部开放端口;
用 CMD 命令来描述容器启动后运行的程序等。例如
# put my local web site in myApp folder to /var/www
ADD myApp /var/www
# expose httpd port
EXPOSE 80
# the command to run
CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]

8
docker tag 命令来修改镜像的标签。
$ sudo docker tag 5db5f8471261 ouruser/sinatra:devel
$ sudo docker images ouruser/sinatra
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ouruser/sinatra latest 5db5f8471261 11 hours ago 446.7 MB
ouruser/sinatra devel 5db5f8471261 11 hours ago 446.7 MB
ouruser/sinatra v2 5db5f8471261 11 hours ago 446.7 MB

9从本地文件系统导入一个镜像
sudo cat ubuntu-14.04-x86_64-minimal.tar.gz |docker import - ubuntu:14.04

10上传镜像
通过 docker push 命令,把自己创建的镜像上传到仓库中来共享
$ sudo docker push ouruser/sinatra

11 存出和载入镜像
导出镜像到本地文件docker save命令
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 c4ff7513909d 5 weeks ago 225.4 MB
$sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
载入镜像docker load
从导出的本地文件中再导入到本地镜像库,例如
$ sudo docker load --input ubuntu_14.04.tar

$ sudo docker load < ubuntu_14.04.tar

12 移除本地镜像
docker rmi 命令移除本地的镜像
docker rm 命令移除容器
*注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。
$ sudo docker rmi training/sinatra

时间: 2024-11-03 22:25:46

docker笔记-docker-basic的相关文章

Docker笔记——Docker安装及制作镜像

1 Docker安装本文中Docker运行环境为Ubuntu 14.04.1 LTS 3.13.0-32-generic x64参考:https://docs.docker.com/v1.11/engine/installation/linux/ubuntulinux/ 1.1 更新并安装apt-transport-https ca-certificates apt-get update && apt-get install apt-transport-https ca-certifica

Docker笔记三 Docker镜像制作

Docker笔记三 Docker镜像制作 1.Docker镜像制作方法: docker commit 保存当前container的状态到镜像,生成image. docker build 利用dockerfile自动化生成image. 2.制作方法 docker commit方式 #启动镜像名称为centos的一个容器(container)  [[email protected] ~]#docker run -it centos /bin/bash #在容器内安装httpd服务 [[email p

Docker笔记

简介 Docker 是 dotCloud 最近几个月刚宣布的开源引擎,旨在提供一种应用程序的自动化部署解决方案,简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续部署.集群.测试环境.面向服务的云计算.虚拟桌面 VDI 等等.

基于CentOS学习docker笔记

在nginx容器内编辑配置文件:将宿主的vi所在的目录挂载为容器的/bin docker run -it -v /usr/bin:/bin nginx /bin/sh #vi /etc/nginx/nginx.conf 批量删除容器: docker rm $(docker ps -a -q) [[email protected] ~]# docker ps -a CONTAINER ID        IMAGE               COMMAND                  CR

docker 笔记(基本概念、快速运行、自定义镜像)

1.docker docker是一个打包应用的工具 非常强大,能把操作系统也打在包里,进行无差别部署和运行. 所以docker也被认为是建立在操作系统上的虚拟机. 2.基本概念 镜像(image): 类似操作系统的镜像,包括一个完整可运行的系统,操作系统.基础组件.应用程序都可以打包在一个镜像中. 容器(container): 容器是某一个docker镜像的执行实例,可以启动.关闭.删除,可以理解成正一个linux系统,同一台机器上的多个container互相隔离. 3.简单使用 #安装dock

Docker学习笔记 — Docker容器

1. 基本概念 Docker利用容器运行应用,容器是从镜像创建的运行实例,每个容器都是相互隔离的. 镜像是只读的,容器在启动的时候在其上创建了一层可读写层. 2. 启动和终止容器 启动一个容器有两种方法,一种是从镜像创建一个容器并运行,另一种是重新启动处于终止状态的容器. 创建并启动 使用docker run命令从镜像创建并启动一个容器. 使用docker run命令创建容器时,后台执行的操作包括: - 检查本地是否存在该镜像,不存在就先从公有仓库下载 - 利用镜像创建并启动一个容器 - 分配一

学习笔记--Docker

环境:redhat7.2 安装包: docker-engine-selinux-1.10.3-1.el7.centos.noarch docker-engine-1.10.3-1.el7.centos.x86_64 开启服务:docker docker version 查看docker版本 docker load -i rhel7.tar  倒入镜像 ctrl + p q 不中断退出 ctrl+d   退出并中断 docker ps -a  列出所有容器 docker run  -it --na

Docker学习笔记——Docker安装部署

1.系统环境 CentOS7.3 Docker需要安装在64为平台上,并且内核版本不能低于3.10 [[email protected] ~]# uname -a Linux web-t 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 2.Docker安装 Docker官方提供了安装脚本,可以直接使用 curl -sSL https://get.docker.com/

[转载] docker笔记

原文: http://opskumu.github.io/docker.html docker的文章很多, 也不乏精品, 本文的好处在于作者不仅仅整理了自己对docker的理解, 还引用了很多经典的docker文献, 对于由浅入深的理解docker非常有帮助 一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docker Hub Docker 使用客户端-服

Docker学习笔记 — Docker仓库

基本概念 仓库是集中存放镜像的地方. Docker Hub Docker Hub是Docker官方维护的一个公共仓库. 执行docker login命令登录,本地用户目录下的.dockercfg文件中保存了用户的认证信息. 使用docker search命令查找官方仓库中的镜像,使用docker pull命令下载镜像到本地. 私有仓库的搭建 — 使用Docer-registry 通常从官方维护的中央仓库下载镜像会比较慢,或者公司内部想搭建一个私有的仓库以供内部人员使用,此时我们可以使用官方提供的