tomcat

#首先确保在宿主机环境下
docker run -d \
-p 8080:8080 \
-v /docker/tomcat/webapps:/usr/local/tomcat/webapps \
-v /docker/tomcat/logs:/usr/local/tomcat/logs \
--name tomcat \
tomcat:8.5

部署一个应用程序

使用ftp工具上传文件到 /docker/tomcat/webapps 中

访问:ip:8080/项目名

mysql

创建并运行容器

  • -d:守护式启动(交互式启动类似tomcat的默认启动方式,会使命令行挂起)
  • -p:设置端口映射
  • -v:设置数据卷目录(配置、日志、数据文件)
  • -e:设置环境变量,MYSQL_ROOT_PASSWORD指定root密码
docker run -d \
-p 3306:3306 \
-v /docker/mysql/conf.d:/etc/mysql/conf.d \
-v /docker/mysql/logs:/logs \
-v /docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
mysql

查看容器中的进程:docker top

docker top mysql

进入容器内部的文件系统

docker exec -it mysql /bin/bash

进入mysql命令行

mysql -uroot -p123456

执行MySQL命令

mysql> show databases;

SQLyog连接测试

注意连接宿主机的 ip 地址,然后在 SQLyog 中创建一个数据库,再次执行上一步的命令在docker环境中查看数据库列表

退出MySQL命令行

mysql> quit

redis

创建配置文件目录

因为 redis 的docker镜像中不包含 redis 的配置文件,因此首先需要手动创建 redis 的配置文件

mkdir -p /docker/redis/conf

复制配置文件

复制准备好的 redis.conf 文件(可以百度)到conf目录,关键配置如下:

#bind 127.0.0.1 #屏蔽此行,开启远程连接
daemonize no #注意!!!此处是no,否则redis无法启动
requirepass 123456 #定义密码

创建并运行容器

docker run -d \
-p 6379:6379 \
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /docker/redis/data:/data \
--name redis \
redis \
redis-server /etc/redis/redis.conf \
--appendonly yes

OPTIONS说明

  • -v /docker/redis/conf:/etc/redis:映射配置文件
  • -v /docker/redis/data:/data:映射数据目录
  • redis-server /etc/redis:指定配置文件启动redis-server进程
  • --appendonly yes:开启AOF数据持久化

进入容器内部的文件系统

docker exec -it redis /bin/bash

进入 redis 命令行

redis-cli
127.0.0.1:6379> auth 123456
127.0.0.1:6379> set name xn2001
127.0.0.1:6379> quit

测试远程连接

查看容器日志

docker logs -tf --tail 20 redis 
#Ctrl + c #退出日志输出

OPTIONS说明

  • -t :加入时间戳
  • -f :跟随最新的日志打印
  • --tail:显示最后多少条

nginx

创建配置文件目录

mkdir -p /docker/nginx/conf

配置文件

复制准备好的 nginx.conf 文件到 conf 目录

创建并运行容器

docker run -d \
-p 80:80 \
-v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ #注意这里映射的是文件
-v /docker/nginx/logs:/var/log/nginx \
-v /docker/nginx/html:/usr/share/nginx/html \
--name=nginx \
nginx:1.17

Last modification:February 21, 2021
如果觉得我的文章对你有用,请随意赞赏