Docker应用部署

一.Docker应用部署

 任务:

    MYSQL的应用部署

    需求:在docker容器中部署nysql,并通过外部mysql客户端不操作mysql server 服务端

    步奏:

        1.搜索mysql镜像 docker search mysql

        2.拉取镜像docker pull mysql:5.6

        3.创建容器

​    

(1)docker run -id      #运行mysql -id 先不进如容器内部 通过exec 命令进入容器 -it exit 退出后就会停止服务器



     > -p 3307:3306         #将容器的mysql3306端口映射到宿主机3307 外界可以通过3307 链接到我们的数据库

     > --name=c_mysql       #命名容器

     > -v $PWD/conf:/etc/mysql/conf.d    #-v 是映射文件 $PWD 就是将当前的目录(/root/conf:映射到/mysql/conf.d  

     > -v $PWD/logs:/logs     #日志

     > -v $PWD/data:/var/lib/mysql  #数据

     > -e MYSQL_ROOT_PASSWORD=123456    #设置数据库的密码

     > mysql:5.6   #用的哪个镜像和版本

       4.操作容器中的mysql

    (2)#进入mysql容器 

    docker exec -it c_mysql /bin/bash

    (3)#登录mysql  

    mysql -uroot -p123456

    #即可操作数据可相关命令:

    show databases;  create database db1; use db1等 mysql 就部署好了

 任务:

    Tomcat的服务器应用部署

    需求:在docker中部署Tomcat,并通过外部机器访问Tomcat部署的项目

    

1.搜索tomcat镜像 

    docker search tomcat

    2.拉取tomcat镜像

    docker pull tomcat 

    创建文件夹存放

    mkdir ~/tomcat #宿主机根目录下创建

    cd ~/tomcat

    3.创建容器

    docker run -id --name=c_tomcat   # 创建容器

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

    > -v $PWD:/usr/local/tomcat/webapps  #将主机中当前目录挂载到荣威的webapps

    > tomcat  # 使用的镜像 

    

    使用:

        1.mkdir mytest

        2.cd mytest 文件目录下

        3.vim index.html

        i:进入编辑文本模式 <h1>hello docker tomcat</h1>

        4.访问tomcat服务器:http://122.51.24.98:8080/mytest/index.html 会输出内容

        # 将写好的项目扔到我们的tomcat目录下 前端请求:url啥 就返回写好的代码

    

任务:

    Nginx的应用部署(反向代理)

    需求:docker容器中部署Nginx,并通过外部机器访问Nginx

    实现步骤:

        1.搜索tomcat镜像 

        docker search Nginx

        2.拉取tomcat镜像

        docker pull nginx 

        #创建文件夹存放 在/root目录下用于存储nginx数据

        mkdir ~/nginx #宿主机根目录下创建

        cd ~/nginx

        mkdir conf

        cd conf

        vim nginx.conf #进行文件的配置:

user  root;

worker_processes  1;

 

error_log  /var/log/nginx/error.log warn;

pid        /var/run/nginx.pid;

 

 

events {

    worker_connections  1024;

}


http {

    include       /etc/nginx/mime.types;

    default_type  application/octet-stream;

 

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

 

    access_log  /var/log/nginx/access.log  main;

 

    sendfile        on;

    #tcp_nopush     on;

 

    keepalive_timeout  65;

 

    autoindex  on;

    

    #gzip  on;

 

    include /etc/nginx/conf.d/*.conf;

 

    client_max_body_size 100M;

 

    client_header_buffer_size    128k;

    large_client_header_buffers  4  128k;

}

# 记得切换到我们的nginx目录来

docker run -id --name=v1_nginx

> -p 80:80

> -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf

> -v $PWD/logs:/var/log/nginx

> -v $PWD/html:/usr/share/nginx/html

> nginx

        4.测试访问

        在nginx目录下>>>html 进行内容的编辑

        122.51.24.98  直接访问默认请求端口80 输出

        i:进入编辑文本模式 <h1>hello nginx</h1>

    任务五:

    Redis的应用部署

    

    需求:docker容器中部署redis,并通过外部机器访问Redis

    步棸:

       

 搜索镜像

        docker search redis

        拉取镜像

        docker pull redis

        因为没有做任何的目录挂载 所以不需要进行创建redis目录

        创建容器 设置端口映射

        docker run -id --name=c_redis -p 7379:6379 redis:5.0

        

        测试访问

        cmd起客户端 进行访问

        docker run -id --name=c_redis -p 6379:6379 redis:5.0

        进到redis的目录下

         D:Program FilesRedis>redis-cli.exe -h 122.51.24.98 -p 6379

         # -h 指定宿主机的ip地址 -p 指定端口

         keys *

         set name koko

         get name

    

一.docker应用部署            二.任务二    MYSQL的应用部署    需求:在docker容器中部署nysql,并通过外部mysql客户端不操作mysql server 服务端    步奏:        1.搜索mysql镜像 docker search mysql        2.拉取镜像docker pull mysql:5.6        3.创建容器​    (1)docker run -id      #运行mysql -id 先不进如容器内部 通过exec 命令进入容器 -it exit 退出后就会停止服务器
     > -p 3307:3306         #将容器的mysql3306端口映射到宿主机3307 外界可以通过3307 链接到我们的数据库     > --name=c_mysql       #命名容器     > -v $PWD/conf:/etc/mysql/conf.d    #-v 是映射文件 $PWD 就是将当前的目录(/root/conf:映射到/mysql/conf.d       > -v $PWD/logs:/logs     #日志     > -v $PWD/data:/var/lib/mysql #数据     > -e MYSQL_ROOT_PASSWORD=123456    #设置数据库的密码     > mysql:5.6   #用的哪个镜像和版本       4.操作容器中的mysql    (2)#进入mysql容器     docker exec -it c_mysql /bin/bash
    (3)#登录mysql      mysql -uroot -p123456
    #即可操作数据可相关命令:    show databases;  create database db1; use db1等 mysql 就部署好了 任务三:    Tomcat的服务器应用部署    需求:在docker中部署Tomcat,并通过外部机器访问Tomcat部署的项目    1.搜索tomcat镜像     docker search tomcat    2.拉取tomcat镜像    docker pull tomcat     创建文件夹存放    mkdir ~/tomcat #宿主机根目录下创建    cd ~/tomcat    3.创建容器    docker run -id --name=c_tomcat   # 创建容器    > -p 8080:8080    # 将容器的8080的端口映射到主机的8080端口    > -v $PWD:/usr/local/tomcat/webapps #将主机中当前目录挂载到荣威的webapps    > tomcat  # 使用的镜像         使用:        1.mkdir mytest        2.cd mytest 文件目录下        3.vim index.html        i:进入编辑文本模式 <h1>hello docker tomcat</h1>        4.访问tomcat服务器:http://122.51.24.98:8080/mytest/index.html 会输出内容        # 将写好的项目扔到我们的tomcat目录下 前端请求:url啥 就返回写好的代码    任务四:    Nginx的应用部署(反向代理)    需求:docker容器中部署Nginx,并通过外部机器访问Nginx    实现步骤:        1.搜索tomcat镜像         docker search Nginx        2.拉取tomcat镜像        docker pull nginx         #创建文件夹存放 在/root目录下用于存储nginx数据        mkdir ~/nginx #宿主机根目录下创建        cd ~/nginx        mkdir conf        cd conf        vim nginx.conf #进行文件的配置:user  root;worker_processes  1; error_log  /var/log/nginx/error.log warn;pid        /var/run/nginx.pid;  events {    worker_connections  1024;}  http {    include       /etc/nginx/mime.types;    default_type  application/octet-stream;     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';     access_log  /var/log/nginx/access.log  main;     sendfile        on;    #tcp_nopush     on;     keepalive_timeout  65; autoindex  on;    #gzip  on;     include /etc/nginx/conf.d/*.conf;     client_max_body_size 100M;     client_header_buffer_size    128k;    large_client_header_buffers  4  128k;}# 记得切换到我们的nginx目录来docker run -id --name=v1_nginx > -p 80:80 > -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf > -v $PWD/logs:/var/log/nginx > -v $PWD/html:/usr/share/nginx/html > nginx

        4.测试访问        在nginx目录下>>>html 进行内容的编辑        122.51.24.98  直接访问默认请求端口80 输出        i:进入编辑文本模式 <h1>hello nginx</h1>
    任务五:    redis数据的应用部署        需求:docker容器中部署redis,并通过外部机器访问Redis    步棸:        搜索镜像        docker search redis        拉取镜像        docker pull redis        因为没有做任何的目录挂载 所以不需要进行创建redis目录        创建容器 设置端口映射        docker run -id --name=c_redis -p 7379:6379 redis:5.0                测试访问        cmd起客户端 进行访问        docker run -id --name=c_redis -p 6379:6379 redis:5.0        进到redis的目录下         D:Program FilesRedis>redis-cli.exe -h 122.51.24.98 -p 6379         # -h 指定宿主机的ip地址 -p 指定端口         keys *         set name koko         get name






    

原文地址:https://www.cnblogs.com/mofujin/p/12556543.html