zoukankan      html  css  js  c++  java
  • 每日博客

    Docker实验

    一、实验目的 

    1、了解Docker服务安装;

    2、掌握Docker镜像操作。

    二、实验内容

    一、Docker服务安装

    https://www.bilibili.com/video/BV11L411g7U1?p=2&spm_id_from=pageDriver 参考教程

    Docker 支持以下的 Ubuntu、Centos 版本:

    • Ubuntu Precise 12.04 (LTS)
    • Ubuntu Trusty 14.04 (LTS)
    • Ubuntu Wily 15.10
    • Centos 7及以上
    • 其他更新的版本……

    前提条件

    Docker 要求 Ubuntu、Centos 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu、Centos版本是否支持 Docker。

    通过 uname -r 命令查看你当前的内核版本

    runoob@runoob:~$ uname -r

     


    使用脚本安装 Docker

    1、获取最新版本的 Docker 安装包

    runoob@runoob:~$ wget -qO- https://get.docker.com/ | sh

     

    输入当前用户的密码后,就会下载脚本并且安装Docker及依赖包。

     

     

    安装完成后有个提示:

        If you would like to use Docker as a non-root user, you should now consider

        adding your user to the "docker" group with something like:

     

        sudo usermod -aG docker runoob

       Remember that you will have to log out and back in for this to take effect! 

    当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker runoob 命令,然后重新登陆,否则会有如下报错

     

    2、启动docker 后台服务

    runoob@runoob:~$ sudo service docker start

     

    3、测试运行hello-world

    runoob@runoob:~$ docker run hello-world

    二、Docker镜像操作

    2.1Mysql安装

    docker pull mysql

    查找Docker Hub上的mysql镜像

    runoob@runoob:/mysql$ docker search mysql

    NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

    mysql                    MySQL is a widely used, open-source relati...   2529      [OK]      

    mysql/mysql-server       Optimized MySQL Server Docker images. Crea...   161                  [OK]

    centurylink/mysql        Image containing mysql. Optimized to be li...   45                   [OK]

    sameersbn/mysql                                                          36                   [OK]

    google/mysql             MySQL server for Google Compute Engine          16                   [OK]

    appcontainers/mysql      Centos/Debian Based Customizable MySQL Con...   8                    [OK]

    marvambass/mysql         MySQL Server based on Ubuntu 14.04              6                    [OK]

    drupaldocker/mysql       MySQL for Drupal                                2                    [OK]

    azukiapp/mysql           Docker image to run MySQL by Azuki - http:...   2                    [OK]

    ...

    这里我们拉取官方的镜像,标签为5.6

    runoob@runoob:~/mysql$ docker pull mysql:5.6

    等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mysql,标签为5.6的镜像。

    runoob@runoob:~/mysql$ docker images |grep mysql

    mysql               5.6                 2c0964ec182a        3 weeks ago         329

    使用mysql镜像

    运行容器

    runoob@runoob:~/mysql$ docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

    21cb89213c93d805c5bacf1028a0da7b5c5852761ba81327e6b99bb3ea89930e

    runoob@runoob:~/mysql$

    命令说明:

    • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
    • -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
    • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
    • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
    • -e MYSQL_ROOT_PASSWORD=123456初始化 root 用户的密码。

    查看容器启动情况

    runoob@runoob:~/mysql$ docker ps

    CONTAINER ID    IMAGE         COMMAND                  ...  PORTS                    NAMES

    21cb89213c93    mysql:5.6    "docker-entrypoint.sh"    ...  0.0.0.0:3306->3306/tcp   mymysql

    2.2 Tomcat安装

    docker pull tomcat

    查找Docker Hub上的tomcat镜像

    runoob@runoob:~/tomcat$ docker search tomcat

    NAME                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

    tomcat                     Apache Tomcat is an open source implementa...   744       [OK]      

    dordoka/tomcat             Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba...   19                   [OK]

    consol/tomcat-7.0          Tomcat 7.0.57, 8080, "admin/admin"              16                   [OK]

    consol/tomcat-8.0          Tomcat 8.0.15, 8080, "admin/admin"              14                   [OK]

    cloudesire/tomcat          Tomcat server, 6/7/8                            8                    [OK]

    davidcaste/alpine-tomcat   Apache Tomcat 7/8 using Oracle Java 7/8 wi...   6                    [OK]

    andreptb/tomcat            Debian Jessie based image with Apache Tomc...   4                    [OK]

    kieker/tomcat                                                              2                    [OK]

    fbrx/tomcat                Minimal Tomcat image based on Alpine Linux      2                    [OK]

    jtech/tomcat               Latest Tomcat production distribution on l...   1                    [OK]

    这里我们拉取官方的镜像

    runoob@runoob:~/tomcat$ docker pull tomcat

    等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为tomcat的镜像。

    runoob@runoob:~/tomcat$ docker images|grep tomcat

    tomcat              latest              70f819d3d2d9        7 days ago          335.8 MB

    使用tomcat镜像

    运行容器

    runoob@runoob:~/tomcat$ docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat  
    acb33fcb4beb8d7f1ebace6f50f5fc204b1dbe9d524881267aa715c61cf75320
    runoob@runoob:~/tomcat$

    命令说明:

    -p 8080:8080将容器的8080端口映射到主机的8080端口

    -v $PWD/test:/usr/local/tomcat/webapps/test将主机中当前目录下的test挂载到容器的/test

    查看容器启动情况

    runoob@runoob:~/tomcat$ docker ps 
    CONTAINER ID    IMAGE     COMMAND               ... PORTS                    NAMES
    acb33fcb4beb    tomcat    "catalina.sh run"     ... 0.0.0.0:8080->8080/tcp   tomcat

    通过浏览器访问

     

    2.3 SqlServer安装

    查找sqlsever镜像 docker search sqlsever

     

    安装sqlsever镜像

     

    运行sqlsever

     

    2.4 Oracle安装

    查找oracle镜像

     

    安装oracle镜像

     

    2.5 Redis安装

    查找Redis镜像

     

    安装redis

     

    运行Redis

     

    2.6 Mongo安装

    查找Mongo镜像

     

    安装Mongo镜像

     

    运行镜像

     

    问题:Docker是什么?

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。顾名思义,docker是一个容器引擎。

    他可以用来做什么?

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口。

  • 相关阅读:
    Linux IO接口 监控 (iostat)
    linux 防火墙 命令
    _CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误
    Visual Studio自动关闭
    Linux vsftpd 安装 配置
    linux 挂载外部存储设备 (mount)
    myeclipse 9.0 激活 for win7 redhat mac 亲测
    英文操作系统 Myeclipse Console 乱码问题
    Linux 基本操作命令
    linux 查看系统相关 命令
  • 原文地址:https://www.cnblogs.com/hfy717/p/15569460.html
Copyright © 2011-2022 走看看