zoukankan      html  css  js  c++  java
  • PJzhang:docker基础知识的2个疗程-one

    猫宁!!!

    参考:http://virtual.51cto.com/art/201805/572135.htm

    https://www.cnblogs.com/rkit/p/9237696.html

    https://zhang.ge/5126.html

    http://www.ityouknow.com/docker/2018/03/07/docker-introduction.html

    http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

    深入浅出话Docker

    https://cloud.tencent.com/edu/learning/live-1027

    容器技术

    容器和虚拟机的区别

    docker更加轻量化,灵活高效,资源占用,性能消耗较小,适合单一用户;传统虚拟化则相对臃肿,但相互之间的隔离效果很好,适合混合用户。

    docker相当于android手机上安装app,传统虚拟化则是android手机上安装一个软件,在软件上安装各种操作系统。

     

     

    docker machine相当于集装箱的吊车,容器就是集装箱

    docker可以解决系统环境统一化问题

    docker隔离了各个进程

    docker可以快速实现环境的搭建,通过仓库

    集装箱改变世界,低成本,实现产业细化,促进全球化

    各种东西都可以放入一个集装箱

     

     

     docker build建立镜像。

    docker环境搭建实战

    https://cloud.tencent.com/edu/learning/course-1392

    docker的基础概念

     

    dockerhub地址

    https://hub.docker.com/

    docker可以事先搭好环境基础,解决好各种依赖问题。(私有仓库)

    docker对应centos、ubantu

    docker安装与常用命令

    centos7系统

    更新系统

    yum -y update

    缓存源

    yum -y makecache

    添加镜像源,因为没有

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    安装docker

    yum -y install docker-ce

    docker -v

    启动docker

    systemctl enable docker,开机自启动

     systemctl start docker,启动

    查看docker镜像,空的,依次镜像类型,镜像标签(可以自定义),镜像id,镜像被作者创建时间,镜像大小

    拉取一个nginx镜像到本地

     

     dockerhub中会对如何使用镜像进行详细说明

     

     

     

     因下载太慢,换用腾讯云的源,vim /etc/sysconfig/docker

    OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'

    systemctl daemon-reload,重新加载服务配置

    systemctl restart docker,重启docker

     

     docker pull  hello-world

    显示hello-world的内容

     

    创建dockerfile

     

     

     docker build -t nginx:v1 .,-t指定创建目标的镜像,tag是v1

     

     docker run -p 80:80 -d nginx:v1,本地的80端口,映射到镜像的80端口

    获得5a6c7ced20e4e16095a1c380bffa7a59a8df74466e156467a430a13ddc65cd16

    访问本地机器的ip

    打镜像标签,选择v1的image id,image id不变,镜像类型名称改变

    tag改变

     docker ps显示目前运行的docker情况

     运行容器的方式

    docker run -p 80:80 -d nginx:v1,第一个80是宿主的端口,第二个80是容器的端口

     docker top musing_almeida,top后面跟的是容器的名字,查看进程情况,用容器的id替代容器的名字也是可以的。

     

     容器运行停止

    docker start musing_almeida,启动容器

    移除容器需要先关停docker

    移除docker 之后,显然已经没有容器运行了

     

    端口可以映射,目录也是可以映射的,docker容器的/root映射到宿主机的/root上,-v实现

    docker run -it -p 80:80 -v /root:/root nginx:v2 /bin/bash

    容器中root目录下创建一个test.txt,exit退出容器,可以看到宿主机中也有test.txt

    退出容器,再次执行docker run -it -p 80:80 -v /root:/root nginx:v2 /bin/bash,可以重新进入,但是主机名已经改变了。

    这里初步会对docker有一个掌握。

  • 相关阅读:
    JDK源码分析之hashmap就这么简单理解
    JVM笔记11-类加载器和OSGI
    JVM笔记10-性能优化之高级特性
    Java并发编程笔记之ThreadLocal内存泄漏探究
    Java并发编程笔记之FutureTask源码分析
    Java并发编程笔记之SimpleDateFormat源码分析
    Java并发编程笔记之Timer源码分析
    Java并发编程笔记之Semaphore信号量源码分析
    Java并发编程笔记之CyclicBarrier源码分析
    Java并发编程笔记之 CountDownLatch闭锁的源码分析
  • 原文地址:https://www.cnblogs.com/landesk/p/11802790.html
Copyright © 2011-2022 走看看