一些Docker指令
MySQL 8
创建文件夹 /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 示例:
FROM openjdk:8-jre-alpine
VOLUME /tmp
ADD keepmove-0.0.1-SNAPSHOT.jar /app.jar
ENV JAVA_OPTS="\
-server \
-Xms256m \
-Xmx512m \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m"
ENV PARAMS=""
CMD java -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/MySQL:
docker network create mynetwork
docker network connect mynetwork demo
docker network connect mynetwork redis
docker network connect mynetwork mysql
Redis
创建配置文件 /mydata/redis/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
或使用命名容器:
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
参数说明:
-p
:设置端口号--name
:容器名称-v
:目录挂载-d
:后台启动--restart unless-stopped
:自动重启策略--appendonly yes
:开启 AOF 持久化(写入 redis.conf)
版权所有
版权归属:pushme