通过一个mysql容器的两种启动方式的比较,来体现区别

docker run

现在想运行一个 mysq l的 docker ,那么直接在命令行中输入下面的命令即可:

docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_DATABASE=typecho \
  -e MYSQL_USER=typecho \
  -e MYSQL_PASSWORD=123456 \
  --restart unless-stopped \
  -p 12083:3306 \
  -v $(pwd)/mysql_data:/var/lib/mysql \
  mysql:latest

就会运行一个mysql的docker,root用户的密码为123456,端口是12083,数据会放到当前目录下的mysql_data中

docker compose

本地创建一个 docker-compose.yml 文件,内容如下:

version: '3.7'

services:
  mysql:
    image: mysql:latest
    # container_name: mysql-server
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: typecho
      MYSQL_USER: typecho
      MYSQL_PASSWORD: 123456
    restart: unless-stopped
    ports:
      - "12083:3306"
    volumes:
      - ./mysql_data:/var/lib/mysql

然后在这个文件夹中执行 docker compose up即可启动