• ubuntu 64位操作系统终端安装docker镜像


    sodo install docker

    #查看是否安装docker -v

    sudo su 进入root环境下

    #下载ubuntu镜像
    docker pull ubuntu:16.04

    #下载mysql镜像
    docker pull mysql:8.0(这是版本号)

    #下载nginx镜像
    docker pull nginx

    #可以启动一个操作系统 但运行不了

    docker run ubuntu:16.04

    #启动一个指定容器 的虚拟环境

    docker run -it --rm ubuntu:14.06

    #关闭虚拟环境
    docker stop 'docker ps -q'

    #启动php虚拟环境
    docker start php71

    docker功能:快速 搭建环境
    #1.很快的在一台主机上虚拟化多个环境
    #2.不污染宿主机器,快速使用匹配的虚拟环境来运行程序
    #3.持续集成,开源项目

    #虚拟主机(ngix,apache)
    #半虚拟机(docker)
    #全虚拟化的差异(aliyun)

    get hub #开源源代码
    docker #开源产品镜像

    #查看所有镜像
    docker images

    docker run -i(输入交互参数) -t(终端交互) ubuntu:16.04 /bin/bash(启动容器启动后的第一个程序的参数)
    docker run -i -t ubuntu:16.04 /bin/bash
    -i:本地的文件,本地的标准输入流 输入到容器里面去(有输入)
    -t:容器需要有反馈-
    i-t可以合并为-it,-it是启动既有输入又有终端交互的命令
    bin/bash是启动后的第一个程序

    root@080e89af34ff:/# 这就进入了linux的操作系统里面了

    clear #可以清除之前所有的命令


    #退出前端进程并且退出(默认关闭)当前运行容器
    exit

    #查看正在运行的docker容器
    docker ps

    #不管运行了的还是没有运行的容器都找出来
    docker ps -a

    #显示容器运行的id
    docker ps -aq

    #一次性删除所有的容器(通过容器id)
    docker rm 'docker ps -aq'

    #停止所有运行的容器(id)
    docker stop 'docker ps -q'

    #为什么启动一个容器立刻就退出了呢
    #答:因为启动容器有一些特殊的要求

    #删除容器
    docker rm 容器id号

    #删除镜像
    docker rmi 容器id号

    #启动容器不需要有终端不需要有交互,可以在后台启动(加-d参数)
    如:docker run -d nginx:latest

    #查看帮助命令
    docker help

    #把当前终端附加到其他容器(id)
    docker attach id(其他容器id号)
    #(无人访问就什么日志都没有)

    #结束当前进程(容器也退出)
    ctrl + c

    #版本号后面什么参数都不加,默认器/bin/bash comment命令
    docker run -it ubuntu:16.04

    #启动容器输出一句话hello
    docker run -it ubuntu:16:06 echo hello

    #查找所有容器并且把他们删除掉
    docker rm 'docker ps -aq'

    #启动容器输出一句话hello(输出完自动就删除容器了)
    docker run -it --rm ubuntu:16:06 echo hello

    --m和-d不能同时运行
    --rm:运行完就结束
    -d:执行完,还在后台运行

    #给容器起个名字
    docker run -d --name nginx nginx:latest

    #在启动容器可以使用起的容器名字
    #启动nginx
    docker start nginx

    #重启
    docker restart nginx

    #停止
    docker stop nginx

    #删除
    docker rm nginx

    run #后的参数没有顺序影响(做了个外设,通过外面浏览器访问本地)
    docker run --name nginx -d -p 8080:80 nginx:latest

    -p:把本地的某个端口绑定容器里面端口
    -p后面的80是本地端口
    :冒号后面的是容器端口

    #不用就停止在删除
    docker stop nginx
    docker rm nginx

    #查询docker支持哪些命令
    docker help
    #查看docker中run方法支持哪些命令
    docker run help

    #容器名字不能重复
    #启动容器服务器80端口后遇到一些错误,一直自动重启
    docker run --name nginx2 -d -p 80:80 --restart=always nginx:latest

    #查看内存,cpu,进程消耗
    top

    #查看进程消耗资源
    ps -aux

    #数据分析时运用浮点数计算显卡Gpu


    #发布镜像
    #公司,团体名/具体项目名称,程序名称


    #制作一个镜像
    docker run -it --name vimu ubuntu:16:04
    apt-get update
    apt-get install vim
    [y/n] y
    exit
    docker ps -a
    #查看就多了一个vimu容器

    #测试提交一个镜像
    docker commit vimu test/vimu:1.0

    #查看就多了一个镜像test/vimu版本为1.0
    docker images

    #容器启动完就把它删掉
    docker run -it --rm test/vimu:1.0

    #新建a.txt,并可以编辑
    vi a.txt

    #做好的镜像别人也能使用要导出

    docker export vimu > ~/vimu.taz(保存在家目录下)

    #分享环境镜像
    #进入到家目录下
    cd /
    mkdir vimu
    ls
    pwd #查看路径

    #用vi创建一个文件
    vi Dockerfile(除了D是大写,其他都是小写)
    #用Dockerfile创建一个配置文件,用docker来读取配置文件,根据配置文件的内容来创建一个镜像

    #在Dockerfile文件中
    #这是一个测试文件(代表注释语句)
    FROM ubuntu:16.04
    MAINTAINER David chin "自己在阿里云注册的域名"
    RUN apt-get update
    RUN apt-get install -y vim
    -y:是程序安装时弹出对话框你是否继续执行,我们选择-y 继续执行

    :wq (退出并保存)

    #执行Dockerfile
    docker build -t test/vimu:1.1 .
    -t:打个标记叫test/vimu:1.1
    #.最后这个点必须写,表示当前路径位置

    #就是把镜像放在镜像列表里,表示镜像创建结束

    #用mysql+wordpress来搭建一个博客
    step1:先把mysql和wordpress安装好
    docker pull mysql
    docker pull wordpress

    step2:
    #给数据库起名字设密码配置路径,建立mysql和wordpress之间的链接
    docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

    docker run --name somewordpress --link some-mysql:mysql -p 8080:80 -d wordpress

    (--link 把这两个容器链接起来)

    ADD指令与copy指令
    ADD var/www/index.html /var/www/html/index.html
    #如果是目录结尾必有/ 如果是不是目录结尾必有扩展名
    #与copy指令类似,但是他能自动解压
    copy指令只做复制不会解压

    env 环境变量的设置
    echo $path 输出当前路径

    #构建镜像
    vi Dockerfile
    docker run --rm -it ubuntu:16.04

    docker build -t test/env:1.0 .

    #创建并执行退出
    docker run --rm -it test/env:1.0 /bin/bash

    #输出自己定义的name名字
    echo $name

    #创建一个workdir,用切换路径
    docker build -t test/workdir:1.0 .

    vi Dockerfile文件中有
    #Dockerfile 模板文件
    FROM ubuntu:16.04
    WORKDIR /OPT

    #学习容器集群
    docker compose

    compose up 启动整个容器集群就相当于启动了多条--link 命令

    #安装compose
    apt-get install curl
    curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(unmae -m)" -o /usr/local/bin/docker-compose

    #如果没有python环境就需要安装python了
    #或者用python环境安装
    #查看python版本
    python --version

    apt-get install python
    [y/n] y
    #安装python pip
    apt-et install python-pip

    #安装compose
    pip install docker-compose

    #查看安装版本
    docker-compose -v

    #创建一个文件夹
    mkdir ror

    vi Gemfile
    touch Gemfile.lock
    #这两个文件是rubygems需要

    #帮助镜像做数据库的链接,帮助容器里命令的执行
    #参考文档:https://docs.docker.com/compose/rails/#define-the-project
    #启动所有
    docker-compose up

    #根据配置环境启动创建数据库命令
    docker-compose run web rake db:crate

    #搜镜像
    https://hub.docker.com
    #下载镜像
    https://dev.aliyun.com/sarch.html

  • 相关阅读:
    python虚拟环境使用
    虚拟化网络进阶管理
    虚拟化进阶管理
    KVM虚拟化
    Xen虚拟化
    Virtualization基础
    Virnish使用
    CentOS配置FTP服务器
    Ajax结合Json进行交互数据(四)
    将 数据库中的结果集转换为json格式(三)
  • 原文地址:https://www.cnblogs.com/xiaofei-bai/p/8657237.html
Copyright © 2020-2023  润新知