🥱Home
  • /Posts🗯
  • /ARCHIVES🕑
  • /TAGS🚦
  • /SEARCH🔍
  • /ABOUT🌞
主页 » /posts (部分笔记已迁移至Obsidian) » Tools

Docker

2025-04-20 · yyz
目录
  • 基础命令
    • Info
    • Run
  • MySQL in Docker

Docker#

基础命令#

Info#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 查看version
docker --version

# 显示正在运行的容器, 参数 -a 查看所有容器
docker ps
# 查看本地所有镜像
docker images
# 查看本地所有卷
docker volume ls查看本地所有卷
# 查看所有网络
docker network ls

Run#

1
2
3
4
5
# 拉取
docker pull [name]

# 运行
docker run [name]

MySQL in Docker#

方式1.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
docker run -d \
  --name mysql57 \
  -p 3307:3306 \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -v mysql57_data:/var/lib/mysql \
  mysql:5.7
  
# -d:后台运行
# --name mysql57:容器名字叫 mysql57
# -p 3307:3306:把容器的3306端口映射到你Mac本地的3307端口(因为你本地3306已经被 MySQL 8 占用了)
# -e MYSQL_ROOT_PASSWORD=your_password:设置 root 用户的密码(你可以换成你想要的密码)
# -v mysql57_data:/var/lib/mysql:使用一个叫 mysql57_data 的 volume 保存数据,容器重启数据不会丢
# mysql:5.7:指定镜像

方式2.

MacOS, 安装mysql8

在某位置创建 docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 新版本的docker-compose可以删除这一行
version: '3.9'

services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:
操作命令
启动 MySQLdocker-compose up -d
停止 MySQLdocker-compose down
查看日志docker logs mysql
进入 MySQL 命令行docker exec -it mysql mysql -u root -p
删除容器但保留数据docker-compose down
删除数据(彻底清空)docker volume rm docker-mysql_mysql_data