Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

时间:2021-05-02 10:28:27

1 基本命令

  1.1 docker相关

    centos6.5 安装docker环境

      》sudo yum install -y http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

      》sudo yum install -y docker-io

    docker --version -> 查看docker版本

    service docker status -> 查看docker状态

    service docker start -> 启动docker

    service docker restart -> 重启docker

  1.2 镜像相关

    docker search name[ : tag ] -> 获取镜像。如不显式的指定TAG,则默认选择latest标签。

    docker pull name -> 拉取镜像

    docker images -> 查看所有拉取下来的镜像

    docker inspect IMAGE_ID -> 查看镜像详细信息

    docker rmi IMAGE -> 删除镜像【PS: IMAGE可以为标签或ID。使用镜像ID来删除时,会先尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。】

      坑01:当有该镜像创建的容器存在时,镜像文件默认是无法被删除的; 可以利用 docker ps -a 查看容器列表

      技巧02:如果有容器存在,先用 docker rm CONTAINER_ID 删除容器,在进行镜像删除操作

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG] -> 基于已有镜像的容器创建镜像

      》OPTIONS -> 参数信息

-a xxx <-> --author="xxx" -> 作者信息
-m xxx <-> --message="xxx" -> 提交信息
-p true <-> --pause=true -> 提交时暂停容器运行

      》CONTAINER -> 基于那个容器的容器ID

      》REPOSITORY -> 创建的镜像名成,后面的TAG表示创建的镜像的标签

    docker save -o 压缩包保存名 REPOSITORY:TAG -> 将一个镜像进行打包

      》REPOSITORY -> 待打包的镜像名称,后面的TAG表示创建的镜像的标签

    docker load --input 压缩包保存名 -> 从导出的文件中重新载入镜像

    cat 镜像压缩包 | docker import -REPOSITORY:TAG -> 将一个压缩文件导入,使之成为一个镜像

      》REPOSITORY -> 生成的镜像名称,后面的TAG表示创建的镜像的标签

    docker push NAME[:TAG] -> 上传镜像到仓库,默认上传到DockerHub官方仓库。第一次使用必须要先登录。

    

2 开发环境搭建

  说明:本博文基于 64位centos6.5 的虚拟机进行搭建的,centos6.5环境搭建

      》sudo yum install -y http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

      》sudo yum install -y docker-io

  2.1 查看版本

docker --version

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  2.2 docker启动失败

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

    》解决办法:安装一个依赖后重启即可

yum install device-mapper-event-libs

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

3 docker安装ngxin

  3.1 搜索镜像 

docker search nginx

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  3.2 拉取镜像

docker search nginx

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  3.3 查看镜像列表

docker images

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  3.4 查看镜像信息

docker inspect IMAGE_ID

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  3.5 创建并运行容器

    技巧01:这个nginx其实就是镜像的名称【即:images列表中的REPOSITORY字段值】

    技巧02:-p -> 做端口映射,将nginx容器的80端口映射到虚拟主机的8082端口,目的是访问虚拟主机的8082端口时就相当于访问docker容器的80端口

docker run -p : -d nginx

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  3.6 查看容器列表

docker ps -a

    技巧01:docker ps -a 插叙的是所有的容器(包括启动和没有启动的容器),之查看启动的容器用 docker ps

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

  3.7 访问nginx主页

    技巧01:虽然访问的是虚拟机的IP+PORT,但是实际*问的是docker安装的nginx服务器;因为在利用docker创建nginx容器的时候我们进行一个端口映射

    坑02:由于本博文用的时虚拟主机,所以必须关掉虚拟主机的防火墙后物理主机才可以访问虚拟主机【如果开发者直接在物理机上安装的docker就无需这一步,直接利用 127.0.0.1:8082 就可以成功访问nginx容器的80端口啦】

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载 IP地址应该是http://192.168.233.136,写错啦

    》技巧03:防火墙相关命令

service iptables status -> 查看防火墙状态
service iptables start -> 启动防火墙
service iptables stop -> 关闭防火墙

    关闭防火墙后的访问效果

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

4 Dockerfile

  4.1 基本使用

    》创建一个文件夹

      mkdir df01

    》计入到db文件夹,创建一个文件并且文件名位Dockerfile

      touch Dockerfile

    》编辑Dockerfile

FROM alpine:latest
MAINTAINER wys
CMD echo "Hello Warrior"

    》在df01目录下利用 docker build 命令构建镜像

      技巧01:-t -> 给构建的镜像设置一个名称

docker build -t test_docker .

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

    》为刚刚构建的名为test_docker的镜像创建一个容器并启动

docker run test_docker

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

5 路径挂载

  创建镜像的时候将容器的路径挂载到本地机器的路径,这样修改本地机器文件夹中的内容就会自动修改容器中对应的文件夹

  5.1 方式一

    技巧01:挂载的本地文件夹必须存在,而且该文件夹中必须有容器中对应文件夹需要的文件【例如:本案例中需要在当前文件夹中创建一个html文件夹,并在html文件夹中创建一个index.html,因为nginx的主页面默认访问index.html页面】

    技巧02:如果本地文件夹不存在,系统会自动进行创建;但是文件夹中的文件必须自己创建

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

    》在本地挂载的文件夹中创建一个index.html文件

      Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

    》利用本地浏览器访问效果

      技巧01:本案例时利用虚拟机进行演示,所以必须关闭虚拟机的防火墙;并且访问虚拟机的IP+端口才能成功访问nginx容器;如果docker是安装在本地的话,直接127.0.0.1+端口 就可以访问nginx容器啦

      技巧02:在linux系统中可以利用 curl 127.0.0.1:8082 进行访问

curl 127.0.0.1:

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

      

    Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

      

  

Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载的更多相关文章

  1. SLAM&plus;语音机器人DIY系列:(五)树莓派3开发环境搭建——1&period;安装系统ubuntu&lowbar;mate&lowbar;16&period;04

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  2. 摘:J2EE开发环境搭建&lpar;1&rpar;——安装JDK、Tomcat、Eclipse

    J2EE开发环境搭建(1)——安装JDK.Tomcat.Eclipse 1:背景 进公司用SSH(Struts,spring和hibernate)开发已经有两个月了,但由于一 直要么只负责表示层的开发 ...

  3. Flask15 远程开发环境搭建、安装虚拟机、导入镜像文件、创建开发环境、pycharm和远程开发环境协同工作

    1 安装VM虚拟机 待更新... 2 导入镜像文件 待更新... 3 启动虚拟机 4 远程连接虚拟机 4.1 安装xShell软件 待更新... 4.2 创建一个新的连接 4.2.1 在虚拟机中获取虚 ...

  4. 【转载】Docker 安装 Nginx 并个性化挂载配置文件 nginx&period;conf

    首先,系统(3.8以上内核的linux)中安装好 Docker 这个运用程序.由于网络原因,我们下载一个Docker官方的镜像需要很长的时间,甚至下载失败.为此,阿里云容器镜像服务提供了官方的镜像站点 ...

  5. Windows开发环境搭建(安装 VS2010&comma; VS2013&comma; VS2015 Community&comma; Windows Server 2008 R2)

    1. 安装VS2010 1.1 安装步骤 1. 注意安装的时候,选择自定义安装,将不需要的VB.net去掉. 2. 看一下C++下的x64选项是否选择了,如果没选,将其选上. 3. 一定要将 Micr ...

  6. JAVA开发环境搭建 - JDK安装及环境变量配置

    1.前提条件 系统:本教程以WIN7系统为例 JDK:本教程以jdk-7u79-windows-x64为例 2.安装步骤 双击运行JDK安装程序

  7. Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决

    转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...

  8. 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建&amp&semi;&amp&semi;向社区贡献代码

    加入OpenStack社区 https://launchpad.net/,注册用户(597092663@qq.com/Admin@123) 修改个人信息,配置SSH keys.OpenPGP keys ...

  9. &lpar;转&rpar;phoneGap-Android开发环境搭建

    (原)http://www.cnblogs.com/shawn-xie/archive/2012/08/15/2638480.html phoneGap-Android开发环境搭建   一.安装 在安 ...

  10. 【课程分享】深入浅出嵌入式linux系统移植开发 &lpar;环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

随机推荐

  1. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  2. url中

    url中汉字被转换为UTF-8,通过此网址可以解析UTF-8编码.在地址栏中输入文字或者其它的,则可能输入法或者是相关的程序进行解析. http://www.mytju.com/classcode/t ...

  3. User Profile Service Application 配置同步连接时,报 MOSS MA not found

    最近在试着配置"我的网站",不知什么原因在配置同步连接时报:MOSS MA not found 搜索发现,需要启动Forefront Identity Manager Servic ...

  4. Mysql分区简述

    1. 数据量大的时候 mysql分表非常常用,但是mysql还可以分区. 2. 分区就是把同一张表放在不同的磁盘文件上, 当查询的时候首先定位是哪个分区(查询的时候一定要用到分区的key) 3. 分区 ...

  5. USB设备不能用。提示Windows 无法启动这个硬件设备。 &lpar;代码 19&rpar;

    USB,由于其配置信息(注册表中的)不完整或已损坏, Windows 无法启动这个硬件设备. (代码 19) 原因:提示Windows 无法启动这个硬件设备. (代码 19) 处理解决方法: 1) r ...

  6. 使用HttpWebRequest以及HttpWebResponse读取Http远程文件

     主页>杂项技术>.NET(C#)> 使用HttpWebRequest以及HttpWebResponse读取Http远程文件 jackyhwei 发布于 2010-08-15 21: ...

  7. Chp14&colon; Java

    1.finally keyword: finally keyword is used in association with a try/catch block and guarantees that ...

  8. mysql5&period;7&period;14安装与配置

    参考文章链接: http://jingyan.baidu.com/article/afd8f4de9006d934e286e9fd.html http://www.cnblogs.com/wenthi ...

  9. css3投影讲解、投影

    迷茫了好一段时间,今天开始整理一下自己,同时也整理下新的知识. CSS3: 从头开始做起:现在在页面中用到最多的是图片/容器投影,文字投影: 接下来就总结一个投影问题: box-shadow:阴影类型 ...

  10. c&num;&nbsp&semi;webbrowser&nbsp&semi;&nbsp&semi;获取用户选中文字

    原文:c# webbrowser  获取用户选中文字 最近一直被一个问题困扰,有一个文本框,一个webbrowser控件,一个上下文菜单, webbrowser  获取用户选中文字" tit ...