zoukankan      html  css  js  c++  java
  • Docker入门

    1. Docker

    docker

     Docker 是开源的应用容器引擎,为任何应用创建一个轻量级的、可移植的、自给自足的容器。

     可用于web应用的自动化打包和发布,自动化测试和持续集成。

     Docker 使用C/S架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。

     Docker是开源的,遵从Apache2.0协议,源代码托管在 Github 上。

     

    2.Docker与虚拟机比较

    Docker是在操作系统上复用实现虚拟化,VM是在硬件的基础上虚拟出多个操作系统,所以Docker资源占用少,启动快,项目的部署和运维方便。

    3.Ubuntu 中安装 Docker

    安装环境:ubuntu 16.04 LTS ,安装步骤可以查看官方帮助

    sudo apt-get install docker-engine

    启动Docker服务

    systemctl start docker   或    service docker start

    client是Docker命令行程序,用于和server交互。

    server是Docker服务端,包含docker引擎。

    接下来运行hello-world,验证Docker安装成功

    docker run hello-world

    4.下载使用ubuntu镜像

    docker pull ubuntu

    查看已经下载到本地镜像,当镜像有更新时docker在run时会自动拉取新的镜像

    #运行ubuntu镜像

    # docker run <相关参数> <镜像 ID> <初始命令>
    # -i:表示以“交互模式”运行容器     -d   使容器后台运行
    # -t:表示容器启动后会进入其命令行
    # -v:表示需要将本地目录挂载到容器中,
    # 格式:-v <宿主机目录>:<容器目录>
    docker run -it -v /data:/data ubuntu bash

    可以看到已经进入ubuntu bash,并且本地目录已挂载到容器中,文件也能访问,然后可以在容器中安装tomcat等

    exit  退出镜像 

    #自己构建镜像(把有修改的container提交成新的Image)

    删除镜像

     

    #使用Docker运行web Aplication

    docker run -d -p 80:5000 training/webapp python app.py

     其中-p 80:5000  是将容器内5000端口映射到本地80端口,此时用浏览器访问localhost:80 即可看到web应用在运行了:)

    4.Docker Hub

    Docker Hub 是Docker的镜像仓库,可以通过注册账号,上传我们自己的镜像,共享给他人使用或在其他机器下载使用。

    Docker Hub同时还提供了自动构建功能,可以自动拉取Github代码并配置Webhook,下次再研究

    docker login   登录

    docker search centos  查找镜像,结果中前面有/的表示发布自个人的公共镜像

    docker push yourname/newimage   推送你的镜像

    docker logout  退出登录

    5.其他命令

    docker --help  显示帮助
    docker info 显示docker状态信息 docker version 显示版本信息
    docker ps 列出运行中容器
    docker ps -a 查看所有容器 -l查看最近容器 -q 只显示容器的ID
    docker run -d -P --name iamname training/webapp python app.py -P 缺省端口 --name 自定义容器名字且必须唯一,如果不指定就会随机生成一个
    docker stop XX 停止XX容器
    docker rm XXname 移除容器
    docker inspect name 显示容器详细
    docker exec -it db bash 打开一个运行中容器的shell
    docker rm `docker ps -a -q` 删除所有容器 注意是 (`) 不是 (')

    docker network ls 显示docker网络驱动 ,启动容器时默认使用bridge(桥接网络)
    docker network inspect bridge 查看容器的IP地址
    docker network create -d bridge my-bridge-network 自定义桥接网络
    docker run -d --network=my-bridge-network --name db training/postgres 启动时指定网络驱动
    docker network connect
    my-bridge-network cname 将cname容器附加在某网络上,,---------------- 同一网络下的容器可以相互ping通









     
    觉得不错,点个赞吧
  • 相关阅读:
    linux下mysql的安装
    linux下mysql设置主从
    linux下安装jdk8并且配置环境变量
    C#实现rabbitmq 延迟队列功能
    对angular.js的一点理解
    angular.js的路由和模板在asp.net mvc 中的使用
    通过Web Api 和 Angular.js 构建单页面的web 程序
    Orchard运用
    Orchard运用
    Orchard运用
  • 原文地址:https://www.cnblogs.com/luangeng/p/5730551.html
Copyright © 2011-2022 走看看