总体步骤

name:镜像名称、ID:容器ID

  • 搜索镜像:docker search name
  • 拉取镜像:docker pull name
  • 查看镜像:docker images
  • 启动镜像: docker run -d -p 5000:5000 name
  • 停止容器:docker stop name
  • 移除容器:docker rm -f ID


安装 Tomcat

  • 直接运行镜像省去 搜索镜像、拉取镜像、查看镜像的步骤
  • 159.223.160.164 是主机
  • 2f6f2890da2d 是容器ID
含义 命令
运行镜像 docker run -d -p 8080:8080 --name="tomcat" tomcat
进入 tomcat 容器 docker exec -it 2f6f2890da2d bash
将 webapps.dist 的内容拷贝到 webapps rm -r webapps 、mv webapps.dist webapps
访问 tomcat http://159.223.160.164:8080/

alt



安装 MySQL

  • 按照 docker hub 上的命令来安装 MySQL
含义 命令
运行镜像(后台运行、端口映射、名称、运行环境、添加数据卷映射) docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 --privileged=true -v /hshuo/mysql/log:/var/log/mysql -v /hshuo/mysql/data:/var/lib/mysql -v /hshuo/mysql/conf:/etc/mysql/conf.d mysql:5.7
进入conf文件 并 修改字符集编码 alt
重启 MySQL 容器 docker restart mysql
进入 MySQL 容器 docker exec -it dd0507571b80 bash
进入 MySQL mysql -u root -p
查看字符集编码 show variables like 'character%';
Navicat 测试连接 IP:159.223.160.164、pd:123456

容器卷

  • 保证数据持久化、失误删除容器后启动容器数据仍在
名称 命令
删除容器 docker rm -f c5e2a31cca83
重新运行 MySQL、数据仍在 docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 --privileged=true -v /hshuo/mysql/log:/var/log/mysql -v /hshuo/mysql/data:/var/lib/mysql -v /hshuo/mysql/conf:/etc/mysql/conf.d mysql:5.7

字符集编码

  • 为了避免中文乱码问题
名称 图片
修改前 alt
修改后 alt


安装 Redis

含义 命令
新建目录 /app/redis mkdir -p /data/redis;
拷贝一份 redis.conf 到 /app/redis vim redis.conf
运行 redis 容器,让 redis-server 运行容器内部的 redis.conf 文件 docker run -p 6379:6379 --name redis --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf
如果出现错误,redis 启动不了,尝试查看日志 docker logs bbaacc063dc0
进入 redis 容器 docker exec -it bbaacc063dc0 bash
测试 redis-cli 连接成功 redis-cli


修改原始的redis.conf文件

  • 允许redis外地连接,注释掉 # bind 127.0.0.1
  • 防止与docker run -d 参数冲突导致容器一直启动失败,将 daemonize yes 修改为 no
  • redis.conf源文件


安装 MinIO

名称 命令
安装命令 docker run -p 9001:9001 -p 9090:9090 --name minio -d --restart=always -e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=12345678" -v /hshuo/minio/data:/data -v /hshuo/minio/config:/root/.minio minio/minio server /data --console-address ":9090" --address ":9001"
  • 安装成功后访问:ip + 9090 alt


安装 MongoDB

名称 命令
安装命令 docker run -d --name MongDB -p 27017:27017 -v /hshuo/mongo/db:/data/db mongo

安装 MongoDB Compass



安装 Nginx

名称 命令
随便启动一个 nginx 实例,只是为了复制出配置 docker run -p 80:80 --name nginx -d nginx:1.10
将容器内的配置文件拷贝到当前目录 docker container cp nginx:/etc/nginx .
修改文件名称 mv nginx conf
把这个 conf 移动到/mydata/nginx mv conf /mydata/nginx
删除原容器 docker rm -f nginx
安装新的 nginx docker run -p 80:80 --name nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -v /mydata/nginx/conf:/etc/nginx -d nginx:1.10