Docker应用(mysql、tomcat、nginx、redis)在Linux中的相关部署

docker相关执行环境的部署无非分成以下4步

  1. 搜索相关应用镜像
  2. 拉取相关应用镜像
  3. 创建容器
  4. 测试访问

docker run 参数

  • -i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
  • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
  • -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
  • -it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
  • –name:为创建的容器命名。

====================================================================

部署Mysql

1)搜索mysql镜像 docker search mysql
在这里插入图片描述
2)拉取mysql镜像 docker pull mysql:5.6
3)创建容器,设置端口映射、目录映射(在/root目录下创建mysql目录用于存储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.6

参数说明:

  • -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 用户的密码。
  • $PWD:表示当前目录(/root/mysql)

在这里插入图片描述
4)进入容器,操作mysql docker exec -it c_mysql /bin/bash 并登录Mysql
在这里插入图片描述也可通过外部机器进行连接Mysql
在这里插入图片描述====================================================================

部署Tomcat

1)搜索tomcat镜像 docker search tomcat

2)拉取tomcat镜像 docker pull tomcat

3)创建容器,设置端口映射,目录映射(在root目录下创建tomcat目录用于存储数据信息)

  • 在root目录下创建tomcat目录用于存储数据信息 mkdir tomcat
  • 进入到tomcat目录中 cd tomcat
  • 创建容器 (-p 8080:8080:将容器的8080端口映射到主机的8080端口-v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps
tomcatdocker run -id --name=c_tomcat \
-p 8080:8080  \ 
-v $PWD:/usr/local/tomcat/webapps \  
tomcat 

4)先在/root/tomcat中创建一个文件夹并在里面创建一个网页用于外部机器进行访问tomcat
在这里插入图片描述
在这里插入图片描述如果显示连接失败,说明tomcat未开启,则使用 docker start c_tomcat 开启tomcat
在这里插入图片描述

在这里插入图片描述====================================================================

部署Nginx

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

  • 同样在/root目录下创建Nginx目录用于存储nginx数据信息 mkdir nginx ,并进入nginx目录中再创建一个conf目录 mkdir conf ,同样进入conf目录中
  • 在conf目录中创建nginx.conf目录,内容如下
user  nginx;
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;

    #gzip  on;

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

在这里插入图片描述

  • 在/root/nginx中使用以下命令创建容器
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

参数说明:

  • -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。日志目录
  • -v $PWD/html:/usr/share/nginx/html:要访问资源的目录

4)使用外部机器进行访问nginx
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

====================================================================

部署Redis

1)搜索redis镜像 docker search redis

2)拉取redis镜像 docker pull redis

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

4)使用外部机器进行连接redis ./redis-cli.exe -h 192.168.88.129 -p 6379

====================================================================

猜你喜欢

转载自blog.csdn.net/weixin_43517302/article/details/105901583