目 录CONTENT

文章目录

Docker配置环境命令

~梓
2025-07-10 / 0 评论 / 0 点赞 / 7 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Docker配置环境命令

1、docker配置MySQL8.0

docker run -d \
--name mysql8.0 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-v mysql-data:/var/lib/mysql \
--restart unless-stopped \
mysql:8.0

这个 Docker 命令用于创建并运行一个 MySQL 8.0 数据库容器,具体参数解释如下:

  1. docker run -d:创建并启动一个容器,-d表示以守护进程(后台)模式运行。
  2. --name mysql8.0:为容器指定名称为 "mysql8.0",便于后续管理和引用。
  3. -p 3306:3306:将宿主机的 3306 端口映射到容器内部的 3306 端口,使外部可以通过宿主机的 3306 端口访问 MySQL 服务。
  4. -e MYSQL_ROOT_PASSWORD=123456:设置环境变量,指定 MySQL root 用户的密码为 123456。
  5. -e TZ=Asia/Shanghai:设置容器内的时区为上海(中国标准时间),确保数据库时间与本地时间一致。
  6. -v mysql-data:/var/lib/mysql:创建一个名为 "mysql-data" 的数据卷,并将其挂载到容器内的 /var/lib/mysql 目录,用于持久化存储 MySQL 的数据文件,即使容器被删除,数据也不会丢失。
  7. --restart unless-stopped:设置容器的重启策略为 "除非手动停止,否则始终重启",确保容器在宿主机重启或意外崩溃后能自动恢复运行。
  8. mysql:8.0:指定使用 Docker Hub 上的官方 MySQL 8.0 镜像作为容器的基础镜像。

这个命令配置了一个基本的 MySQL 8.0 服务,适合开发和测试环境使用。如需生产环境部署,建议进一步优化密码复杂度、增加配置文件挂载、调整资源限制等。

1.1、我想运行MySQL服务怎么运行

sudo docker exec -it mysql8.0 mysql -u root -p

1.2、使用 docker ps查看

docker ps

输出

CONTAINER ID   IMAGE       COMMAND                   CREATED          STATUS          PORTS                                                    NAMES
b5c280775ed8   mysql:8.0   "docker-entrypoint.s…"   13 minutes ago   Up 13 minutes   0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp   mysql8.0

从你提供的输出可以看出,MySQL 容器(mysql8.0)正在运行,并且端口映射正确(主机的 3306 端口映射到容器的 3306 端口)。这意味着你可以通过以下方式连接到 MySQL 服务器:

方法一:使用容器内的 MySQL 客户端(推荐)

在 root 权限下,直接执行以下命令进入 MySQL 命令行:

docker exec -it mysql8.0 mysql -u root -p

然后输入你设置的 MySQL root 密码(如果是首次启动且未指定密码,可能需要查看容器日志获取临时密码)。

方法二:从主机使用 MySQL 客户端(需先安装)

如果你已经在主机上安装了 MySQL 客户端,可以通过主机的 3306 端口连接:

mysql -h 127.0.0.1 -P 3306 -u root -p
方法三:检查容器日志(如果忘记密码)

如果忘记了 root 密码,可以查看容器日志获取初始密码:

docker logs mysql8.0 2>&1 | grep "GENERATED ROOT PASSWORD"
重置密码(如果忘记)

如果需要重置密码,可以通过以下步骤操作:

  1. 停止并删除当前容器(数据不会丢失,因为默认挂载了卷):

    docker stop mysql8.0 && docker rm mysql8.0
    
  2. 使用新密码重新创建容器:

    docker run -d \
      --name mysql8.0 \
      -p 3306:3306 \
      -e MYSQL_ROOT_PASSWORD=your_new_password \
      -v mysql-data:/var/lib/mysql \
      mysql:8.0
    

2、区分容器和镜像

操作 针对对象 命令示例
删除容器(停止状态) 容器 docker rm <容器名或ID>
强制删除运行中容器 容器 docker rm -f <容器名或ID>
删除镜像 镜像 docker rmi <镜像名:标签>
强制删除镜像(有依赖) 镜像 docker rmi -f <镜像名:标签>

3、挂载命令

nginx为例,首先 push一个镜像

docker push nginx

然后运行 nginx容器

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

--name nginx 中的 nginx

  • 含义:这是你为容器指定的名称(--name 参数用于命名容器)。

最后一个 nginx

  • 含义:这是镜像名称,指定基于哪个镜像创建容器。

使用 inspect查看信息

docker volume inspect html

docker1.webp

0

评论区