04-Docker应用部署

MySQL部署

需求

在Docker容器中部署MySQL,并通过外部MySQL客户端操作MySQL Server

实现步骤

  1. 搜索MySQL镜像

    docker search mysql
    
    
  2. 拉取MySQL镜像

    docker pull mysql:5.6
    
    
  3. 创建MySQL容器、设置端口映射、目录映射

    # 在/root目录下创建mysql目录用于存储mysql数据信息
    mkdir ~/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
    
    # =========参数说明============
     -	-p 3307:3306		将容器的3306端口映射到宿主机的3307端口
     -	-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用户密码
     
    
    # 进入mysql容器
    docker exec -it c_mysql /bin/bash
    
    # 登录mysql
    mysql -uroot -p123456
    # 指定ip和端口号登录mysql
    mysql -h  127.0.0.1 -u root -P3307 -p123456
    
    
  4. 操作容器中的MySQL

CRUD

Tomcat部署

需求

在Docker容器中部署Tomcat,并通过外部机器访问Tomcat部署的项目

实现步骤

  1. 搜索tomcat镜像

    docker search tomcat
    
    
  2. 拉取tomcat镜像

    docker pull tomcat
    
    
  3. 创建容器、设置端口映射、目录映射

    mkdir ~/tomcat
    cd ~/tomcat
    
    docker run -id --name c_tomcat \
    -p 8081:8080 \
    -v $PWD:/usr/local/tomcat/webapps \
    tomcat
    
    # ======参数说明=====
    -		-p 8081:8080	将容器的8080端口映射到主机的8081端口
    -		$PWD:/usr/local/tomcat/webapps		将主机中当前目录挂载到容器的webapps
    
    
  4. 部署项目

    宿主机的tomcat文件夹已经映射到了容器的webapps目录了,所以将部署的war包直接放到宿主机的tomcat文件夹下面就可以了
    
    
  5. 测试访问

    127.0.0.1:8081/test/index.html
    

Nginx部署

需求

在Docker容器中部署nginx,并通过外部机器访问nginx

实现步骤

  1. 搜索Nginx镜像

    docker search nginx
    
    
  2. 拉取Nginx镜像

    docker pull nginx
    
    
  3. 创建容器、设置端口映射、目录映射

    # 在/root目录下创建nginx目录用于存储nginx数据信息
    mkdir ~/nginx
    cd ~/nginx
    mkdir conf
    cd conf
    # 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
    vim nginx.conf
    
    
    
    
    
    docker run -id --name c_nginx \
    -p 88:80 \
    -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v $PWD/logs:/var/log/nginx \
    -v $PWD/html:/usr/share/nginx/html \
    nginx
    
    
    
    
    docker run -id --name c_nginx \
    -p 88:80 \
    -v $PWD/html:/usr/share/nginx/html \
    nginx
    
    # ======参数说明=====
    -		-p 80:80		将容器的80端口映射到宿主机的80端口
    -		-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf		将主机当前目录下的/conf/nginx.conf挂载到容器的/etc/nginx/nginx.conf配置目录
    -		-v $PWD/logs:/var/log/nginx日志目录		将主机目录下的logs目录挂载到容器的/var/log/nginx日志目录
    
    
    
    docker exec -it c_nginx /bin/bash
    
    
  4. 测试访问

Redis部署

需求

在Docker容器中部署Redis惊喜那个,并通过外部访问

步骤

  1. 搜索Redis镜像

    docker search redis
    
    
  2. 拉取Redis镜像

    docker pull redis:5.0
    
    
  3. 创建容器

    docker run -id --name c_redis -p 6379:6379 redis:5.0
    
    
  4. 测试访问

    ./redis-cli.exe -h 192.168.159.135 -p 6379
    
    [root@Baba ~]# /usr/local/redis/redis-5.0.7/src/redis-cli -h 127.0.0.1 -p 6378
    127.0.0.1:6378> set aaa '1111'
    OK
    127.0.0.1:6378> get aaa
    "1111"
    127.0.0.1:6378> exit
    [root@Baba ~]#
    

你可能感兴趣的:(docker,容器)