zoukankan      html  css  js  c++  java
  • Docker实例教程[超详细](一)

    Docker

         Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    Windows

    1、 安装docker到我们的电脑,下载地址:

    http://7xawqb.com2.z0.glb.qiniucdn.com/docker/toolbox/releases/download/v1.11.2/DockerToolbox-1.11.2.exe

    clip_image001

    clip_image002

    Git工具以前有安装的话,现在就勾去不装。

    clip_image003

    clip_image004

    点击install安装

    2、 下载完毕之后我们安装好 然后在桌面上会有一个Docker Quickstart Terminal的快捷方式clip_image005,我们双击打开,如果打不开我们右键修改下git地址,这里配置正确的路径。

    clip_image006

    打开之后就是这个样子的:

    clip_image008

    这个窗口不能shift+insert键进行粘贴操作,我不太喜欢这样玩,我喜欢直接打开git-bash,

    clip_image009

    输入命令:

    docker-machine ssh default

    回车进入docker shell.

    clip_image011

    clip_image013

    我们敲个命令试试docker images 显示所有镜像

    clip_image015

    ok 镜像全部显示出来了 docker安装这个还是没有什么问题的,至此docker安装完毕。

    3、 为了我们能快速拉取docker镜像,我们选择https://account.daocloud.io/signin

    国内镜像,用dao命令,这里需要到daocloud.io注册一个账号

    clip_image017

    还可以用github 微信账号关联登陆:

    clip_image018

    我已经注册好了,我就直接登陆进去了,登陆之后我们看到首页:

    clip_image020

    我们点击加速器:

    clip_image022

    我们点击立即开始:

    clip_image024

    跳到了我的集群,其实也可以在主界面直接进去到集群里面的,我们选择windows:

    clip_image026

    前面两步我们已经执行完毕了,我们直接选择安装好了,跳出如下界面,拷贝代码到我们的命令行下执行,我们打开git-bash执行

    docker-machine ssh default

    ,紧接着拷贝下面的代码,每个人的都不一样,注意区别。

    clip_image028

    执行完毕后,我们就能运行dao命令了,我们打个dao试试。

    clip_image030

    紧接着我们到我们的daocloud.io里面进入到镜像仓库里面,daocloud(这个列别里面的镜像就在daocloud服务器,很快!)镜像搜索centos,我们点击进去:

    clip_image032

    clip_image033

    看到下面镜像拉取说明,我们拉一下centos7,我们把命令改写成

    dao pull daocloud.io/centos:7

    ,这样比较快。

    clip_image035

    正在多线程拉取拉取!拉取完毕。

    clip_image037

    我们docker images看看是否拉取成功了。

    clip_image039

    我们启动容器shell交互,为了简单演示,下面使用yun install 方式搭建一个简单的nginx环境。

    我们运行命令:

    docker run –i t –name nginx_test[这个名字可以随便起] 904d6c400333[IMAGE ID] /bin/bash

     回车

    clip_image040

    进入到我们的centos容器,我们可以在这个里面搭建docker,搭建完毕之后,通过Dockerfile来build一个镜像,也可以一次性写一个Dockerfile,我们下面采用一次性编写Dockerfile的方式进行。

    新建Dockerfile文件,写入如下内容:

    FROM daocloud.io/centos:7
    
    # Install Nginx.
    # WORKDIR /etc/yum.repos.d/
    ADD  nginx.repo /etc/yum.repos.d/
    RUN 
       yum update -y && 
       yum install -y wget && 
    #   wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && 
       wget -O /etc/yum.repos.d/CentOs-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo && 
       yum makecache && 
       yum update -y && 
       yum install -y vim && 
       yum install -y nginx && 
       yum install -y net-tools && 
       echo "daemon off;" >> /etc/nginx/nginx.conf && 
       echo "master_process  off;" >> /etc/nginx/nginx.conf
       # Define mountable directories.
       VOLUME ["/usr/share/nginx", "/etc/nginx/conf.d", "/var/log/nginx"]
       # Define working directory.
       WORKDIR /etc/nginx
       # Define default command.
       CMD ["/usr/sbin/nginx"]
       # Expose ports.
       EXPOSE 80
       EXPOSE 443

    编写nginx.repo文件:

    # nginx.repo
    [nginx]
    
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1

    运行如下命令:

    docker build -t nginx:v1 .

    clip_image042

    clip_image044

    打包完成,我们下面运行{docker images}看看镜像有没有生成:

    clip_image046

    生成好了!

    docker run -d -p 8090:80 nginx:v1

    clip_image048

    端口也是绑定成功的。

    clip_image050

    打开浏览器 输入192.168.99.100:8090,看看是否打开了nginx的页面:

    clip_image052

    因为宿主ip是一个虚拟网卡上的ip所以要通过此ip访问,可以ifconfig查看宿主ip。

    我们也可以静态网页为宿主内的地址:

    在此之前先停止掉之前的容器,docker ps 查看正在运行的docker,然后docker stop container id。

    clip_image054

    再次运行命令:

    docker run -d -p 8090:80 -v /logs:/var/log/nginx -v /www:/usr/share/nginx nginx:v1

    clip_image055

    编写内容

    clip_image056

    浏览器访问:

    clip_image057

    至此 docker教程完毕。

  • 相关阅读:
    数据结构(java语言描述)顺序栈的使用(两个大数相加)
    DB2 Sql性能查看与优化
    spring默认为单例模式
    Java map的匿名类的初始化
    使用nohup后台执行ftp传输命令
    停止一个java的线程执行
    静态类
    XML语法随记
    Crontab有关
    string转Date转回String(JAVA)
  • 原文地址:https://www.cnblogs.com/luwenbin/p/5590655.html
Copyright © 2011-2022 走看看