zoukankan      html  css  js  c++  java
  • docker的安装及使用

    docker

    一个虚拟化的技术,可以帮我们打包我们的环境, 快速的部署到其他机器上, 类似于一个虚拟机, 但是docker消耗的资源比较少

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    沙箱机制就相当于一个轮船运载的集装箱, 并不关心内部是怎么样的, 只关心把这个箱子打包好, 完成运输

    docker 安装

    ubuntu 16.04 安装最新的 docker

    docker有两个版本, 一个是docker-ce(社区版), 一个是docker-ee(企业版)

    docker-compse:可运行和管理多个docker容器。

    docker-machine:docker官方提供的docker管理工具。可管理多个docker主机,可搭建swarm集群。

    1.卸载旧版本的docker

    全新安装时,无需执行该步骤

    $ sudo apt-get remove docker docker-engine docker.io

    2.更新系统软件

    $ sudo apt-get update

    3.安装依赖包

    $ sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        software-properties-common

    4.安装官方密钥

    执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代理进行。

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    显示OK,就代表添加成功.

    5.添加仓库

    $ sudo add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
       $(lsb_release -cs) 
       stable"

    6.再次更新软件

    $ sudo apt-get update

    7.安装docker

    如果想指定安装某一版本,可使用 sudo apt-get install docker-ce=<VERSION>  命令,把<VERSION>替换为具体版本即可。

    默认是安装最新版本

    $ sudo apt-get install docker-ce

    8.查看docker的版本

    $ docker -v

    显示“Docker version 17.09.0-ce, build afdb6d4”字样,表示安装成功。

    docker的基本操作

    docker images  查看本地的镜像
    docker search 镜像名  搜索网上的相关镜像
    docker pull 镜像名  拉取你要的镜像
    docker rmi 镜像名  删除镜像
    docker save 镜像名|gzip>>保存的文件名.tar.gz
    docker load 保存的文件名.tar.gz
    
    docker run -it 镜像名 进入时使用的shell方式 bash sh
    		--name 名字  可以给我们的容器起一个名字
    
    docker ps 查看正在运行的容器
    			-a 能显示那些已经关掉的容器
    docker rm 容器id或者容器名字
    docker exec -it 容器的名字 bash  进入到一个正在启动的容器
    exit 可以退出当前的容器

    网络映射

    docker run -d -p 主机端口:容器端口 容器名 命令(比如nginx)

    数据卷

    -v 宿主机目录:容器目录

    数据卷容器

    --volumes-from + 容器名

    容器互联

    先启动一个容器 docker run -d --name web1 -p 80:80 mynginx ningx
    在启动一个容器: docker run -d --name web2 --link web1 -p 8080:80 mynginx ningx

    Dockerfile

    FROM ubuntu
    
    MAINTAINER louyifei abc835352@163.com
    
    RUN apt-get update
    RUN apt-get install nginx -y
    
    
    RUN echo "daemon off;">>/etc/nginx/nginx.conf
    #设置开放端口
    EXPOSE 80
    
    # 默认在容器启动的时候执行的命令
    CMD ["nginx"]

    sudo docker build -t tag ./

    常见命令

    FROM: 目地:指定基础的image,表示新程序基于哪个image构建新image 语法: FROM <image>:<tag>tag:版本号,如果没有,则使用最新版本
    MAINTAINER 指定镜像创建者信息
    语法:MAINTAINER <name>
    RUN
    
    RUN可以运行任何被基础image支持的命令
    
    语法:
    
    .
    
    CMD
    
    容器启动时运行的操作。该指令只能在文件中存在一次,如果有多个,则只执行最后一条
    
    USER 设置启动容器的用户,默认是root用户。指定 memcached 的运行用户daemon
    
    ENTRYPOINT 设置容器启动时执行的操作。该指令只能在文件中存在一次,如果有多个,则只执行最后一条
    
    EXPOSE 指定容器需要映射到宿主机器的端口
    ENV 在image中设置一个环境变量。
    
    
    
    ADD 从src复制文件到容器的的dest路径
    VOLUME 指定挂载点.
    
    WORKDIR 切换目录。可以多次切换工作目录(相当于cd命令)

    上传自己的镜像到仓库

    1 docker login 可以加你的docker网址 默认是https://hub.docker.com

    2 给你的镜像打标签 docker tag 镜像名/id 用户名/存到远端叫什么:tag标签

    3 docker push 第2步 镜像名/id后边跟的 名字

    sudo docker login
    sudo docker images
    sudo docker tag 77b3321ee9b8 louyifei8888/project
    sudo docker push louyifei8888/project
  • 相关阅读:
    数据库表中批量替换某个字段的方法
    css清除浮动方法大全
    IE6中的常见BUG与相应的解决办法
    [转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护
    Oracle 数据库导入导出 dmp文件
    Tomcat 服务应用
    Perforce 与Source Insight, Visual Studio集成
    Oracle 11g必须开启的服务及服务详细介绍
    Python学习笔记8-单元测试(1)
    Python学习笔记7-高级迭代器
  • 原文地址:https://www.cnblogs.com/louyifei0824/p/10093794.html
Copyright © 2011-2022 走看看