POSTS
一些Linux环境下docker指令
Mysql8
创建文件夹/mydata/mysql8/… 后映射:
docker run -p 3306:3306 --name mysql --restart unless-stopped \
-v /mydata/mysql8:/etc/mysql \
-v /mydata/mysql8/logs:/logs \
-v /mydata/mysql8/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=password -d mysql:8
Nginx
创建文件夹/mydata/nginx/… 后映射
创建 ssl 文件夹并将证书文件复制到容器内
docker run \
-p 80:80 \
-p 443:443 \
-p 5050:5050 \
--name nginx \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/ssl/server.pem:/etc/nginx/ssl/server.pem \
-v /mydata/nginx/ssl/server.key:/etc/nginx/ssl/server.key \
-v /mydata/nginx/ssl/server2.pem:/etc/nginx/ssl/server2.pem \
-v /mydata/nginx/ssl/server2.key:/etc/nginx/ssl/server2.key \
-v /mydata/nginx/log:/var/log/nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/admin_html:/usr/share/nginx/admin_html \
-d nginx:latest
后端工程
位置创建在/mydata/App
记得把跳过依赖关掉
dockerfile 设置
# 设置JAVA版本
FROM openjdk:8-jre-alpine
# 指定存储卷, 任何向/tmp写入的信息都不会记录到容器存储层
VOLUME /tmp
# 拷贝运行JAR包
ADD keepmove-0.0.1-SNAPSHOT.jar /app.jar
# 设置JVM运行参数, 这里限定下内存大小,减少开销
ENV JAVA_OPTS="\
-server \
-Xms256m \
-Xmx512m \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m"
#空参数,方便创建容器时传参
ENV PARAMS=""
# 入口点, 执行JAVA运行命令
CMD java -jar app.jar #定义容器启动执行的命令 app.jar的名字可自取
生成镜像(同一文件目录下)
docker build -f ./Dockerfile -t app .
生成容器
docker run -d \
--name demo \
-v /etc/localtime:/etc/localtime:ro \
-p 8080:8080 \
app
创建并将 redis 与后端容器放入同一网络下
查看网络:
docker network ls
创建网络
docker network create mynetwork
然后,我们需要将Spring Boot应用和Redis服务器的容器连接到这个网络。我们可以使用以下命令来连接容器:
docker network connect mynetwork demo
docker network connect mynetwork redis
docker network connect mynetwork mysql
Redis
创建文件夹/mydata/redis/redis.conf 后映射
放入redis.conf文件
docker run -p 7000:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf \
参数:
-p:设置端口号
–name:给容器起别名
-v:挂载文件目录,前面是宿主机部分,后面是容器的。
-d:后台启动。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器
配置文件
0.0.0.0开启所有访问|在安全组中设置开启端口权限访问仅限本机
–appendonly yes:开启AOF持久化。
redis 指定配置文件启动容器
docker run -d -p 7000:6379 --name redis_me -v /mydata/redis/redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf