随笔分类 - 虚拟化和Doker技术

摘要: 创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头。 我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器的ip地址。 假设某个容器(假设容器的名称为myweb)被分配的地址是 172.17.0.2,该容器阅读全文
posted @ 2016-03-14 19:15 51kata 阅读(30846) | 评论 (2) 编辑
摘要: 我们可能会碰到这样的一个问题,在容器执行过程中,修改了容器的内容(如配置文件信息),但因为修改出了问题。导致容器关闭后,无法启动。 这事需要重新修改配置文件。 正常情况下可以通过 docker exec命令打开容器的一个shell终端进去修改。 但这时容器已经无法启动了。这时该如何处理呢? 这有两种阅读全文
posted @ 2016-03-14 17:13 51kata 阅读(15421) | 评论 (1) 编辑
摘要: 1、如果docker主机不需要通过代理连接外网 则docker的相关命令(如docker search)或docker容器与网络相关的操作都可以正常进行,不需要特殊设置。 2、当docker主机 是通过代理才能连接外网时,采用服务方式启动守护进程 如果docker守护进程是通过服务的方式启动的(su阅读全文
posted @ 2016-03-12 15:50 51kata 阅读(10442) | 评论 (1) 编辑
摘要: 安装好docker后,需要启动docker守护进程。有多种启动方式。 一、服务的方式 因为docker守护进程被安装成服务。所以,可以通过服务的方式启停docker守护进程,包括查看状态。 sudo start docker //启动 sudo stop docker //停止 sudo statu阅读全文
posted @ 2016-03-12 00:01 51kata 阅读(17181) | 评论 (0) 编辑
摘要: 在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上。一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像)。能否可以让容器进程持久化的数据保存在主机阅读全文
posted @ 2016-03-11 17:42 51kata 阅读(47917) | 评论 (3) 编辑
摘要: ONBUILD指令可以为镜像添加触发器。其参数是任意一个Dockerfile 指令。 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A镜像)不会产生实质性影响。 但是当我们编写一个新的Dockerfile文件来基于A镜像构建一个镜像(阅读全文
posted @ 2016-03-11 12:02 51kata 阅读(10397) | 评论 (0) 编辑
摘要: 一、ADD指令 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录、以及一个URL标记的文件 拷贝到镜像中。 其格式是: ADD 源路径 目标路径 如: #test FROM ubuntu MAINTAINER hello ADD test1.txt test1.txt ADD test1阅读全文
posted @ 2016-03-11 11:20 51kata 阅读(59550) | 评论 (1) 编辑
摘要: USER指令用于指定容器执行程序的用户身份,默认是 root用户。 在docker run 中可以通过 -u 选项来覆盖USER指令的设置。 举例:docker run -i -t -u mysql newmysqldb /bin/bash 显示的shell提示符是: mysql@57cd57edb阅读全文
posted @ 2016-03-10 19:25 51kata 阅读(874) | 评论 (0) 编辑
摘要: ENV指令用来在镜像构建过程中设置环境变量。我们来看一个Dockerfile的例子: #test FROM ubuntu MAINTAINER hello ENV MYDIR /mydir RUN mkdir $MYDIR RUN echo hello world > $MYDIR/test.txt阅读全文
posted @ 2016-03-10 19:10 51kata 阅读(21047) | 评论 (0) 编辑
摘要: Dockerfile中的WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。 相当于设置容器的工作目录了。我们来看一个dockerfile文件 #test FROM ubuntu MAINTAINER hello RUN mkdir /mydir RUN echo he阅读全文
posted @ 2016-03-10 16:08 51kata 阅读(6994) | 评论 (0) 编辑
摘要: 本文介绍Dockerfile的 ENTRYPOINT指令的含义。 先回顾下CMD指令的含义,CMD指令可以指定容器启动时要执行的命令,但它可以被docker run命令的参数覆盖掉。 ENTRYPOINT 指令和CMD类似,它也可用户指定容器启动时要执行的命令,但如果dockerfile中也有CMD阅读全文
posted @ 2016-03-10 15:28 51kata 阅读(2681) | 评论 (0) 编辑
摘要: 我们知道,通过docker run 创建并启动一个容器时,命令的最后可以指定容器启动后在容器内立即要执行的指令,如: docker run -i -t ubunu /bin/bash //表示容器启动时立即在容器内打开一个shell终端 docker run ubuntu /bin/ps //表示容阅读全文
posted @ 2016-03-10 10:00 51kata 阅读(16233) | 评论 (0) 编辑
摘要: 镜像创建好后,很重要的一个操作就是共享和发布。可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上。 要想发布镜像到dokcer hub上,首先要在dokcer hub上注册账户,并且在本机(准备提交镜像到docker hub的机器上)上进行注册。具体过程如阅读全文
posted @ 2016-03-08 23:45 51kata 阅读(944) | 评论 (0) 编辑
摘要: 本文介绍如何利用dockerfile来创建镜像。下面介绍具体的操作过程: 一、创建构建环境 操作示例如下: 上面命令在当前用户(xxx)的主目录下创建了一个myweb目录,并在该目录下建立了一个空的文件名为Dockerfile文件。这个目录就是我们的构建环境(或上下文)。 二、编写Dockerfil阅读全文
posted @ 2016-03-08 23:43 51kata 阅读(1746) | 评论 (0) 编辑
摘要: 一、概述 创建镜像有两种方法,一是用commit命令,二是用dockerfile方法(这个更常用,在下面文章介绍)。本章介绍commit方法。 在介绍commit命令前,我们先回顾下对代码的版本控制,当修改代码后,我们会commit变更到版本服务器上。 对于容器类似的概念,当创建容器后,如果后面对容阅读全文
posted @ 2016-03-08 23:39 51kata 阅读(9209) | 评论 (1) 编辑
摘要: docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用。 1、下载mysql镜像 docker pull mysql 2、创建镜像 docker run --name mysqldb -e MYSQL_ROOT_PASSWORD=root -d mys阅读全文
posted @ 2016-03-06 22:26 51kata 阅读(944) | 评论 (2) 编辑
摘要: 一、查看本地镜像 只有下载后,镜像才会保存在本地(docker环境所在的主机),通过如下命令可以查看本地已经存在的镜像。 命令:dokcer images 上面命令列出本地所有已经存在的镜像,显示的信息如: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE u阅读全文
posted @ 2016-03-06 21:51 51kata 阅读(3713) | 评论 (0) 编辑
摘要: 一、列出主机上已经创建的容器 docker ps -a   二、创建交互式容器 命令: docker run -i -t ubuntu /bin/bash 其中-i -t 表示创建一个提供交互式shell的容器。 ubuntu是镜像名,如果本地不存在,回到仓库中下载。 /bin/bash 是指定容器阅读全文
posted @ 2016-03-05 23:14 51kata 阅读(1369) | 评论 (0) 编辑
摘要: 本文的操作是在ubuntu操作系统下的。 一、环境检查 当登录一个安装了docker的机器后,首先我们要检查下docker环境如何。 1、命令:docker -v 上述命令返回安装的docker的版本信息,返回的信息可能如下: Docker version 1.9.1, build a34a1d5 阅读全文
posted @ 2016-03-05 20:18 51kata 阅读(1946) | 评论 (0) 编辑
摘要: 本文介绍如何在本地(windows操作系统)安装虚拟机,并在虚拟机下安装ubuntu操作系统. 一、机器升级 因为是在我的笔记本电脑上操作。首先升级了我的笔记本,买了内存条,将我机器的内存增加到8G,但考虑到window32位测操作系统最大只支持4G内存。因此将我的机器操作系统升级为 64位 Win阅读全文
posted @ 2016-02-22 10:47 51kata 阅读(378) | 评论 (0) 编辑