Skip to content

一些Docker指令

约 321 字大约 1 分钟

Linuxdocker指令

2025-05-08

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)