Docker的准备,安装,初体验
2017-03-04 23:30
387 查看
想实践一下Docker,手头是个windows电脑,由于想在linux下实践,所以第一步是装虚拟机,我用的是VMware Workstation 12 Player,虚拟机文件用的是ubuntu-16.04-desktop-amd64,装好ubuntu之后,如果想在windows和ubuntu之间方便的传递文件,可以在虚拟机设置中添加共享文件夹,步骤如下图:
这样设置后记得还要安装VMWare Tools,具体的做法是在vm菜单中选择“管理”->安装VMWare Tools,再进入ubuntu,在光驱中找到对应的tar.gz文件,复制到一个新建的目录下解压开,执行解压后的目录中的vmware-install.pl,安装成功后重启ubuntu,在/mnt/hgfs目录下就会发现添加的共享文件夹了。
以上的基本工作完成后,可以开始安装Docker了,在ubuntu中打开控制台,先执行一次update更新:
执行以下命令安装Docker:
安装成功的信息如下:
执行docker -v,输出如下:
Docker version 17.03.0-ce, build 60ccb22
由于是自己实践,非生产环境,建议用root身份来操作,否则要输入sudo前缀挺麻烦;
用命令sudo passwd root重新设置root的密码;
设置完毕后执行”su -“再输入root密码,切换到root用户身份;
执行docker images,看看本地已有的docker镜像:
空空如也!
接下来我们安装和运行一个nginx服务,来初探docker的镜像和容器:
下载镜像:
启动:
执行启动的命令是
执行docker ps可以看到已经启动的容器:
容器已经启动了,赶紧在ubuntu下打开浏览器,再输入localhost试试吧,咦?访问失败了,unable to connect!
执行docker ps命令,可以看到这么一段信息:0.0.0.0:32769->80/tcp,这里的意思是docker容器的80端口映射到的是ubuntu的32769端口,那么我们在unbuntu的浏览器中只要访问localhost:32769,就能访问到docker容器80端口了,试试吧,果然熟悉的welcome页面终于出现了:
接下来进入容器去看看,执行命令
现在我们已经进入容器了,执行命令cat /etc/issue看看系统情况
原来这个容器的镜像是Debian系统的,接下来我们尝试修改nginx的配置,改之前先回顾一下共享文件路径,我们从windows到vm的ubuntu,再从ubuntu到docker容器,都设置过共享文件路径的,依次是:
E:\work\vm_share\common_dir -> /mnt/hgfs/u16 -> /usr/Downloads
也就是说三个系统下面,各自的目录其实是同一个目录,在docker容器中执行cp /etc/nginx/nginx.conf ./,回到windows的E:\work\vm_share\common_dir目录下就会发现nginx.conf文件。
在windows下打开nginx.conf这个文件,找到这一行include /etc/nginx/conf.d/*.conf;,在这一行前面加个“#”注释掉这一行配置,然后在这一行下面增加如下语句:
这个配置是增加一个目录用来响应http请求,并改写默认index页面以及文件目录的路径,写完并保存后,回到docker容器,执行cp /usr/Downloads/nginx.conf /etc/nginx/,用改好的文件覆盖docker容器中的nginx配置文件;
在docker容器的/etc/nginx/目录下新建一个html目录,进入该目录后执行echo “abcdef” > welcome.html,这样就新建了一个内容为abcdef的html文件;
执行命令service nginx reload来重新加载nginx的配置信息,这时候再去ubuntu的浏览器上重新打开localhost:32769,可以看到默认页面已经改变了:
以上就是初步体验docker的过程,如果想关闭容器,可以执行docker stop nginx001命令来停止,想再次启动该容器,可以执行docker start nginx001。
到此,Docker的准备,安装和初体验就结束了,后续我将结合通常的java开发和部署工作,在Docker上做更多的尝试,第一次写博客,如果大家发现其中的错误的漏洞,欢迎您的指正,期待在探讨中共同进步。
这样设置后记得还要安装VMWare Tools,具体的做法是在vm菜单中选择“管理”->安装VMWare Tools,再进入ubuntu,在光驱中找到对应的tar.gz文件,复制到一个新建的目录下解压开,执行解压后的目录中的vmware-install.pl,安装成功后重启ubuntu,在/mnt/hgfs目录下就会发现添加的共享文件夹了。
以上的基本工作完成后,可以开始安装Docker了,在ubuntu中打开控制台,先执行一次update更新:
sudo apt-get update
执行以下命令安装Docker:
sodu curl -sSL https://get.daocloud.io/docker | sh
安装成功的信息如下:
执行docker -v,输出如下:
Docker version 17.03.0-ce, build 60ccb22
由于是自己实践,非生产环境,建议用root身份来操作,否则要输入sudo前缀挺麻烦;
用命令sudo passwd root重新设置root的密码;
设置完毕后执行”su -“再输入root密码,切换到root用户身份;
执行docker images,看看本地已有的docker镜像:
空空如也!
接下来我们安装和运行一个nginx服务,来初探docker的镜像和容器:
下载镜像:
docker pull daocloud.io/library/nginx
下载完毕后,执行docker images可以看到下载结果:
启动:
执行启动的命令是
docker run --name nginx001 -idt -P -v /mnt/hgfs/common_dir:/usr/Downloads daocloud.io/library/nginx
下面来解释一下这一行命令: run 根据指定的镜像文件启动一个容器 --name nginx001 启动后这个容器的名字 -d: 后台运行,并返回ID -i: 互模式运行容器 -t: 为容器分配一个伪输入终端 -P: 随机映射一个端口至容器内部开放的网络端口 -v /mnt/hgfs/common_dir:/usr/Downloads:指定共享文件目录,进入容器后,容器的/usr/Downloads实际上就是ubuntu的/mnt/hgfs/common_dir目录了,这样传文件方便 daocloud.io/library/nginx:镜像文件名称,就是刚才下载的那个
执行docker ps可以看到已经启动的容器:
容器已经启动了,赶紧在ubuntu下打开浏览器,再输入localhost试试吧,咦?访问失败了,unable to connect!
执行docker ps命令,可以看到这么一段信息:0.0.0.0:32769->80/tcp,这里的意思是docker容器的80端口映射到的是ubuntu的32769端口,那么我们在unbuntu的浏览器中只要访问localhost:32769,就能访问到docker容器80端口了,试试吧,果然熟悉的welcome页面终于出现了:
接下来进入容器去看看,执行命令
docker exec -it nginx001 /bin/bash
下面来解释一下这一行命令: exec 进入容器 --name nginx001 启动后这个容器的名字 nginx001: 容器名字,也可以是id /bin/bash: 进入容器后执行的命令
现在我们已经进入容器了,执行命令cat /etc/issue看看系统情况
原来这个容器的镜像是Debian系统的,接下来我们尝试修改nginx的配置,改之前先回顾一下共享文件路径,我们从windows到vm的ubuntu,再从ubuntu到docker容器,都设置过共享文件路径的,依次是:
E:\work\vm_share\common_dir -> /mnt/hgfs/u16 -> /usr/Downloads
也就是说三个系统下面,各自的目录其实是同一个目录,在docker容器中执行cp /etc/nginx/nginx.conf ./,回到windows的E:\work\vm_share\common_dir目录下就会发现nginx.conf文件。
在windows下打开nginx.conf这个文件,找到这一行include /etc/nginx/conf.d/*.conf;,在这一行前面加个“#”注释掉这一行配置,然后在这一行下面增加如下语句:
server { server_name localhost; listen 80 default_server; listen [::]:80 default_server ipv6only=on; location / { root html; index welcome.html; } }
这个配置是增加一个目录用来响应http请求,并改写默认index页面以及文件目录的路径,写完并保存后,回到docker容器,执行cp /usr/Downloads/nginx.conf /etc/nginx/,用改好的文件覆盖docker容器中的nginx配置文件;
在docker容器的/etc/nginx/目录下新建一个html目录,进入该目录后执行echo “abcdef” > welcome.html,这样就新建了一个内容为abcdef的html文件;
执行命令service nginx reload来重新加载nginx的配置信息,这时候再去ubuntu的浏览器上重新打开localhost:32769,可以看到默认页面已经改变了:
以上就是初步体验docker的过程,如果想关闭容器,可以执行docker stop nginx001命令来停止,想再次启动该容器,可以执行docker start nginx001。
到此,Docker的准备,安装和初体验就结束了,后续我将结合通常的java开发和部署工作,在Docker上做更多的尝试,第一次写博客,如果大家发现其中的错误的漏洞,欢迎您的指正,期待在探讨中共同进步。
相关文章推荐
- Docker安装初体验(Windows)
- 『中级篇』docker的魅力初体验-5分钟安装wordpress不走弯路(三)
- Docker初体验--windows系统安装docker及运行
- 【fabric实战指南-环境准备】fabric1.0安装过程中需要用到的docker命令
- centos6.5 x86_64系统安装docker之前做的准备
- 在 hp3172宽屏笔记本上安装windowsXP+solaris10 双系统(1)--环境准备篇
- VS SP1 安装前准备工作
- 异构数据库中间件sequoia(c-jdbc)初体验(1.安装试运行)
- 我的Maven2之旅:一.前言,准备及安装.
- 开始学习oracle ebs r12--安装前准备 (5)
- Microsoft CRM 3.0 Mobile安装手记(一)——准备工作
- Visual Studio 2008安装初体验(转)
- SAP ERP 2004 SR1 安装手册(一) 系统环境及前期准备
- 安装Exchange Server 2007 sp1之前的准备
- windows installer 右键 正在准备安装
- 防火墙安装配置(准备)
- WSUS专题之三:安装WSUS-准备片
- 安装Exchange Server 2007 sp1之前的准备
- 准备安装Ubuntu用用
- VC安装失败再次安装前的准备