本篇文章将以Docker启动一个MySQL8容器为例,介绍相关docker命令

docker run

一条命令启动Docker MySQL

docker run -d \
  --name mysql-docker \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3308:3306 \
  mysql:8

docker ps

docker start

docker stop

docker restart

docker exec -it

命令行直接操作连接使用这个MySQL

docker exec -it mysql-docker mysql -u root -p

回车后输入密码 123456,看到 mysql> 提示符就进去了。然后就可以正常写SQL了

ubuntu@hhhhhh:~$ docker start mysql-docker
mysql-docker

ubuntu@hhhhhh:~$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                         NAMES
7cae93b8eb76   mysql:8   "docker-entrypoint.s…"   18 minutes ago   Up 18 minutes   0.0.0.0:3308->3306/tcp, [::]:3308->3306/tcp   mysql-docker

ubuntu@hhhhhh:~$ docker exec -it mysql-docker mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.8 MySQL Community Server - GPL

Copyright (c) 2000, 2026, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> exit;
Bye

ubuntu@hhhhhh:~$ docker stop mysql-docker
mysql-docker
# 进入redis-slave容器,然后连接到 redis-master 的redis-cli
docker exec -it redis-slave redis-cli -h redis-master

# 进入redis-slave容器,连接的是 redis-slave 自己的redis-cli
docker exec -it redis-slave redis-cli

简单说:

  • docker exec -it redis-slave — 指定进入哪个容器
  • redis-cli -h redis-master — 指定连接哪个Redis服务

就像你人在北京(redis-slave容器),但是你远程操控上海的电脑(redis-master)。不加 -h 就是操控你自己本地的电脑。

docker pull

docker pulldocker run
作用只下载镜像到本地创建并启动容器
会启动容器吗×
会自动下载镜像吗√(本地没有时)
类比下载APP打开APP使用
使用场景提前备好镜像直接跑起来用

docker images

查看拉取了哪些镜像

ubuntu@hhhhhh:~$ docker images
                                                                                                    i Info →   U  In Use
IMAGE     ID             DISK USAGE   CONTENT SIZE   EXTRA
mysql:8   7fcf7bcd3fa7       1.09GB          248MB    U

docker network create

ubuntu@hhhhhh:~$ docker network create redis-net
d7ef0ac11fbb32dfeabf40e875a76d9efc37518428d9065da6266c5963203372

更多推荐