• 每日博客


    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 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口。

  • 相关阅读:
    表连接问题
    public interface Serializable?标记/标签接口
    4.21
    第十周周记
    测试
    第九周周记
    第七周周记
    fighting.
    fighting
    作业一
  • 原文地址:https://www.cnblogs.com/hfy717/p/15569460.html
Copyright © 2020-2023  润新知