docker03_应用部署

1. MySQL部署

image

  • 需求
    在docker容器中部署MySQL,并通过外部MySQL客户端操作MySQL Server。

  • 实现步骤
    1、 搜索MySQL镜像
    docker search mysql
    2、 拉取MySQL镜像
    docker pull mysql:5.7
    3、 创建容器,设置端口映射、目录映射

    在/root目录下创建mysql目录用于存储mysql数据信息
    mkdir /root/mysql
    cd ~/mysql
    
    docker run -id \
    -p 3307:3306 \
    --name=c_mysql \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    mysql:5.7
    
  • 参数说明:
    image

    4、 外部工具操作容器中的MySQL

    # 首先创建一个用户
    create user 'u1'@'%' identified by 'u1';
    # 给用户授予所有权限
    grant all privileges on *.* to 'cjh'@'%';
    # 刷新权限
    flush privileges;
    

    image

2. 部署nginx

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

  • 实现步骤
    1、 搜索Nginx镜像
    docker search nginx
    2、 拉取Nginx镜像
    docker pull nginx
    3、 创建容器,设置端口映射、目录映射

    在/root目录下创建nginx目录用于存储mysql数据信息
    mkdir /root/nginx
    cd /root/nginx
    mkdir conf
    cd conf
    # 在conf下创建nginx.conf文件,粘贴下面的内容
    vim nginx.conf
    
    #user  nginx;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    error_log /var/log/nginx/error.log warn;
    pid       /var/run/nginx.pid;
    
    events {
    	worker_connections  1024;
    }
    http {
    include       /etc/nginx/mine.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  0;
    keepalive_timeout  65;
    
    #gzip  on;
    
    include /etc/nginx/conf.d/*.conf;
    }
    
    docker run -id --name=c_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
    

    $PWD就是/root/nginx目录

  • 参数说明
    image

3. 部署redis

1、 搜索redis镜像
docker search redis

2、 拉取redis镜像
docker pull redis:5.0

3、 创建容器,设置端口映射、目录映射
docker run -id --name=c_redis -p 6368:6379 redis:5.0

6378是阿里云开放的端口号,6379是docker容器中redis的端口号,通过访问6378映射到6379

4、通过外部机器连接redis
image

5、进入docker中redis的客户端
docker exec -it c_redis redis-cli

附加

1.查询密码
config get requirepass

2.设置密码
config set requirepass XXX (XXX则为你将要设置密码)

3.认证密码
auth XXX
posted @ 2022-04-29 13:57  晨落  阅读(30)  评论(0)    收藏  举报