docker 实例

注:本章节所有的实例操作在window系统下!!! nginx 在C:/Users目录下新建nginx_root目录,新建一个index.html文件,里面写个helloworld docker run -it –name nginx -v /c/Users/nginx_root:/usr/share/nginx/html -p 80:80 nginx docker-machine.exe ls 浏览器输入上面命令中的IP地址访问,显示helloworld 下面来解释一下 先进入这个镜像看看,另起一个终端 @FOR /f "tokens=*" %i IN (‘docker-machine.exe env default’) DO @%i docker exec -it nginx bash cat /etc/nginx/conf.d/default.conf 这里就是nginx的配置信息,上面/usr/share/nginx/html和端口号就是根据整理来的。 再来说说/c/Users/nginx_root这个地址 我们先打开virtualbox的客户端,default->设置->共享文件夹,可以看到 c/Users\ \?\c:\Users,然后我们进default系统 docker-machine.exe ssh default ls /c/Users/ 是不是发现本地c:\Users目录和default的c/Users做了一个映射,然后我们的镜像其实是在default的映射目录再挂载过来的目录,所以上面为什么写的是/c/Users/nginx_root,其实是c:\Users\nginx_root目录 流程是这样: virtualbox的default系统挂载了本地系统的C:/users目录,目录为/c/Users 我们的nginx镜像挂载了default的/c/Users/nginx_root目录,目录为/usr/share/nginx/html 最终/usr/share/nginx/html挂载的是本地系统的C:/users/nginx_root目录

docker安装

一、centos6.x下安装docker 先更新系统 yum update 查看 uname -r 2.6.32-xx..x86_64 如果没有更新过内核应该是2.6.x-x的版本 升级内核。 我们用的是带aufs模块的3.10内核,自己编译太复杂,加一个源,找个现成的,操作如下: vi /etc/yum.repos.d/hop5.repo 复制下面内容 [hop5] name=www.hop5.in Centos Repository baseurl=http://www.hop5.in/yum/el6/ gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-HOP5 保存退出 :wq 安装 kernel-ml-aufs kernel-ml-aufs-devel yum install kernel-ml-aufs kernel-ml-aufs-devel 装好重启,在启动页面选择3.10.x的内核 查看 uname -r 3.10.5-3.el6.x86_64 内核就升级好了。 接下来安装docker 6.x的版本源上没有docker.io,所以我们再增加一个源 yum install epel-release-6-8.noarch.rpm 然后 yun install docker-io 安装好后 service docker start 没有什么问题的话就算好了。有问题的话看红色字,是否有和你同样的问题 测试一下看看 docker run hello-world 出现…

特殊字符

♫♬♪♩♭♥♡☜☞◎♦◊◈☆❤ⓛⓞⓥⓔ╬『』☀。◕‿◕。の★▶☺☻►◄↔↕♦◊◦♠♣☆♂♀☎☏➸✱✿❆ღ゚ღ❆ﻬஐﻬ❆ღ゚ღ❆✿ﻬஐﻬ✿╰☆╮≈➽ⓛⓞⓥⓔஐ卐※ξ●•ღ&≈♣ஐ∞↘↙ωண✗↔∑∮々~εїз➽∩@の☼❤♡☊☋£☀☂→←Ψ¤╰☆╮)♂♀﹌оО❥♈♠♣☜☞➸∴。◕‿◕。✘✚★☆∷░▒☎⊹⊱⋛⋌⋚⊰⊹◕。oO.♥.:✿*゚¨゚゚・☀╮✔✕╬〓『』►◄【】〖〗☁凸◆◇▲△▼▽●〇◎◕‿-┱┲✣✤✥✦✧✩✫✬✭✮✯✰✱✲✳❃❂❁❀✿✾✽✼✻✺✹✸✷✶✵✴❄❅❆❇❈❉❊❋❖✱✲✳❃❂❁❀✿✾✽✼✻✺✹✸✷✶✵✴❄❅❆❇❈❉❊❋❖ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓆⓠⓡⓢⓣⓤⓥⓦⓧ№DêMЁ™㊚㊛㊣㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉㊊♠♣▣▤▥▦▩▨

跟着我来一起编译lfs(六) 个性化配置及常用工具安装

这边还是比较倾向于备份一下,否则如果中间错了,那又要重来,蛋疼!!! 系统运行起来了,下面装几个常用的工具 进入centos(不是我们创建的lfs) LFS=/mnt/lfs mount -vt ext4 /dev/sdb1 $LFS mount -v –bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run if [ -h $LFS/dev/shm ]; then   mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi 下载源码到sources wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz wget http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz…

跟着我来一起编译lfs(五) LFS系统配置

这章主要是对lfs的系统进行配置,这样大家就会更了解Linux配置文件的位置和配置内容,下面我们开始。 配置系统主机名称 echo "MYOS" > /etc/hostname 输出到/etc/hostname就可以了 自定义 /etc/hosts 文件 cat > /etc/hosts << "EOF" # Begin /etc/hosts 127.0.0.1 <HOSTNAME.example.org> <HOSTNAME> localhost [alias1] [alias2] … ::1       <HOSTNAME.example.org> <HOSTNAME> localhost [alias1] [alias2] … # End /etc/hosts EOF 设备和模块管理 配置系统时间 设置本地时间 cat > /etc/adjtime << "EOF" 0.0 0 0.0 0 LOCAL EOF 配置 Linux…

跟着我来一起编译lfs(四) 构建LFS系统

现在开始建立LFS系统,也就是说现在真正开始了解Linux系统。 让我们一步一步来构建,看看每个目录到底放的是什么?有什么用呢?平时使用的命令是干什么的? 我相信只要我们一步一步做下来,你立马就摆脱linux菜鸟阵营。 开始~~~ 这里我们不用切换用户到lfs,就用root用户 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! 如果不是这个结果请执行 LFS=/mnt/lfs 创建将用来挂载文件系统的目录 mkdir -pv $LFS/{dev,proc,sys,run} 创建初始设备节点 在内核引导系统的时候,它依赖于几个设备节点,特别是 console 和 null 两个设备。 mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 挂载和激活 /dev mount -v –bind /dev $LFS/dev 挂载虚拟文件系统 mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc…

跟着我来一起编译lfs(三) 临时工具链及文件系统

接下来开始第二次工具链的编译建立一个完成临时系统,为什么要第二次,上一文中解释了,就不多啰嗦了,为了避免不必要的错误,我们先把第一次解压出来的目录文件删除,重新来。 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! cd $LFS/sources rm -rf binutils-2.27 gcc-6.2.0 linux-4.7.2 glibc-2.24 编译Binutils tar jxf binutils-2.27.tar.bz2 cd binutils-2.27 mkdir -v build cd build CC=$LFS_TGT-gcc \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ ../configure \ –prefix=/tools \ –disable-nls \ –disable-werror \ –with-lib-path=/tools/lib \ –with-sysroot make make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v…

跟着我来一起编译lfs(二) 工具链编译初识

建立交叉编译环境,这个步骤比较长及繁琐,耗时非常长,中间要准备好零食、饮料、连续剧,当然也可以LOL,尽量在娱乐中度过。 这里要理解一下交叉编译环境是干什么的?为什么要有这个环境? 首先我们最终的目的就是完成一个独立mini linux操作系统,记得前一章我们添加的那块虚拟硬盘么,这个系统将会在这块硬盘上产生,而产生这个系统的过程就是要用编译等工具生产相应的二进制文件,但是如果我们直接编译出二进制文件放在虚拟硬盘中,最终将无法运行,因为这块虚拟的硬盘上只有二进制文件,对应的依赖包等在我们的centos(及宿主机)中,所以我们先用centos(及宿主机)的编译工具和下载的源码编译出一套工具链,然后再用这个编译出来的工具链和下载的源码编译出独立的工具链。这样整个工具链及环境就都在我们的虚拟硬盘上,后面脱离宿主机一样可以运行。 好的,大概解释了一下,可能有不完整的地方,大家大概知道意思就可以。 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! 接下来开始第一次工具链编译 cd $LFS/sources 编译Binutils tar jxf binutils-2.27.tar.bz2 cd binutils-2.27 mkdir -v build cd build ../configure –prefix=/tools \ –with-sysroot=$LFS \ –with-lib-path=/tools/lib \ –target=$LFS_TGT \ –disable-nls \ –disable-werror 如果报错看看是不是GCC C++等工具没有安装?yum install 缺少的工具 make 64位系统添加一个lib64目录的软连接 case $(uname -m) in   x86_64) mkdir -v /tools/lib && ln -sv lib…

跟着我来一起编译lfs(一) 前期准备

linuxfromscratch (lsf) http://www.linuxfromscratch.org 具体是什么自行百度吧。 我编译的是7.10的版本(官方教程地址:点这里),其他版本大家可以自己去试,这个教程主要是让大家能够更清楚linux的一些目录,文件及命令。 这个过程是很漫长的,如果要跟着一起编译,要有足够的耐心,每台机器的环境都不一样,每个人所碰到的问题很有可能完全不一样,所以最终还是要靠大家自己去找答案,当然,我在编译的过程出现的问题一定会告之大家,避免碰到弯路。 先说一下我的环境 操作系统:win7 虚拟机:virtualbox 前期准备 1、在virtualbox中安装centos的系统,我用的是CentOS release 6.8,其他版本自行安装 2、添加一块虚拟硬盘,分区,创建目录 3、检测环境及下载源代码 一、安装centos 下载一个centos镜像 virtualbox 新建虚拟电脑,名称为 centos,上图 安装系统 然后启动,具体安装过程不再细说。 二、添加一块虚拟硬盘,分区,创建目录 安装好以后,关闭centos,添加一块虚拟硬盘给lfs用,上图 虚拟硬盘就添加好了。上图 启动系统,先全局更新 yum update 给虚拟硬盘分区 fdisk /dev/sdb 输入 n  (创建分区) 输入 p  (创建主分区) 输入 1  (只有一个分区) 一路回车 (确认分区大小) 最后w (写入分区信息) 环境变量及创建目录,这里命令比较多 export LFS=/mnt/lfs 请注意,以后每次重启或断开等情况都要先执行 echo $LFS /mnt/lfs 看看目录是否正确,一定要记住 创建根目录 mkdir -pv…

docker简述

这些都是从网络上摘抄的,大家看看。 琢磨一下,docker可以做很多东西。 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 Docker通常用于如下场景: web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据库或其他的后台应用; 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。 官网 https://www.docker.com/ 文档 https://docs.docker.com/   Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 — Docker Hub Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。 1.1 Docker 守护进程 如上图所示,Docker…