Docker

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

Windows

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

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

点击install安装

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

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

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

输入命令:

docker-machine ssh default

回车进入docker shell.

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

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

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

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

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

我们点击加速器:

我们点击立即开始:

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

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

docker-machine ssh default

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

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

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

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

dao pull daocloud.io/centos:7

,这样比较快。

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

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

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

我们运行命令:

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

回车

进入到我们的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.

EXPOSE80EXPOSE443

编写nginx.repo文件:

# nginx.repo

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0enabled=1

运行如下命令:

docker build -t nginx:v1 .

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

生成好了!

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

端口也是绑定成功的。

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

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

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

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

再次运行命令:

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

编写内容

浏览器访问:

至此 docker教程完毕。

调音台docker教程_Docker实例教程[超详细](一)相关推荐

  1. Git安装教程(Windows安装超详细教程)

    Git安装教程(Windows安装超详细教程)  weir_will 关注 0.9 2017.10.08 00:59* 字数 728 阅读 17955评论 8喜欢 41 2018年4月14日更新  更 ...

  2. C#基础教程-c#实例教程,适合初学者

    C#基础教程-c#实例教程,适合初学者. 第一章 C#语言基础 本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和W ...

  3. RedHat6.7安装教程,图解,超详细

    引言:最近项目组正在搭建服务器,为了与生产同步,所以最近一直在搞一些环境的事情,下面就给大家带来RedHat6.7的详细安装教程. 1.选择要安装的程序一般普通的安装直接选择第一个就可以了.下面图中有 ...

  4. 如何优雅地删除Docker镜像和容器(超详细)

    一.前言   大家是怎么删除Docker中的镜像和容器的呢,有没有考虑过如何优雅地删除呢?本教程详细指导如何在优雅地删除Docker容器和镜像.如需了解如何在Centos7系统里面安装Docker,可 ...

  5. keyshot渲染图文教程_keyshot实例教程,keyshot汽车渲染图文教程

    keyshot实例教程,keyshot汽车渲染图文教程 为什么产品渲染推荐keyshot呢?这是因为KeyShot不仅在电脑配置要求.表现效果.高效速度.学习使用上比较简单,解决了语言障碍,同时在资源 ...

  6. Http调用第三方接口的两种方式实例《超详细!!!》***

    Http调用第三方接口的两种方式<超详细!!!>* 最近在公司做一些调用第三方接口的工作,查阅了一部分的资料和向前辈以及朋友请教,完成了第三方接口的调用,其实主要是通过第三方提供的文档,完 ...

  7. 手把手Android Studio全套安装+配置+真机部署教程【多图超详细】

    目录 一.Android Studio安装教程 二.Android项目的创建 三.Android Studio下安装部署真机 Hello,你好呀,我是灰小猿,一个超会写bug的程序猿, 今天在这里和大 ...

  8. 苹果消息推送服务教程(三步曲)-超详细

    mtrabelsi  (原作者) 第一部分 在iOS系统中,在后台运行的程序能够进行的操作是非常有限的.这种限制是为了节省手机电池. 但是,如果你需要在用户没有使用你的程序的情况下给他们推送消息该怎么 ...

  9. VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了

    前言 Visual Studio Code 是一个轻量级功能强大的源代码编辑器,支持语法高亮.代码自动补全(又称 IntelliSense).代码重构.查看定义功能,并且内置了命令行工具和 Git 版 ...

最新文章

  1. jsp中有关于超链接的问题
  2. 分子排列不同会导致_生物信息遇上Deep learning(7): ReLeaSE--强化学习做药物分子设计...
  3. Alfred+AppleScript实现快速复制当前文件夹路径
  4. node.js和npm的关系
  5. 适合上班族的两种兼职
  6. Java 静态代理、Java动态代理、CGLIB动态代理
  7. java, android的aes等加密库
  8. python设计模式之Borg模式
  9. VBA教程初级(一):简单宏
  10. EasyRecovery易恢复文件数据恢复软件详解介绍安装
  11. 公募基金资格:社保、养老金、企业年金,三者有什么区别?
  12. Android资深开发者告诉你:简历这样写绝对吸引面试官眼球,面试电话接到手软
  13. 随机身份证号码计算年龄
  14. Python环境下用中文做了个《王者荣耀》AI脚本,附视频
  15. 如何利用Syncthing+蒲公英快速实现异地文件同步
  16. 怎么删除电脑上的另一个用户名?删除电脑上多余的用户名
  17. matlab解决阻尼牛顿,matlab阻尼牛顿法例题
  18. Java 实现HTTP请求的四种方式总结
  19. codeforces(E. Carrots for Rabbits)贪心
  20. jz2440 linux4,JZ2440 u-boot-2016.11、linux-4.17和busybox-1.28.4移植笔记

热门文章

  1. mysql_fetch_array容易掉入的陷进
  2. python开源web项目-Python开源项目Top30
  3. python排课问题_排课常见问题
  4. mavlink协议详解_MAVLink学习之路05_ MAVLink应用编程接口分析
  5. NoSuchAlgorithmException in PowerMock
  6. 计算机主板上的cmos芯片的主要用途是,cmos芯片的作用及主要用途
  7. PHP:overtrue/pinyin 中文转拼音工具
  8. CMMI3级和五级之间的区别是什么?
  9. 【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍
  10. 核苷酸类化合物库 脂类化合物库参与细胞调控