Docker 入门系列三:Docker 应用部署-MySQL

MySQL部署

  • 容器内的网络服务和外部机器不能直接通信
  • 外部机器和宿主机可以直接通信
  • 宿主机和容器可以直接通信
  • 当容器中网络服务需要被外部访问时,可以将容器中提供服务的网络端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问容器的服务。
  • 这种操作叫做:端口映射。

具体部署:

  1. 搜索MySQL镜像
    docker search mysql

  2. 拉取镜像
    docker pull mysql:5.7

  3. 创建容器,设置端口映射、目录映射

    /root目录下创建mysql目录用于存储mysql数据信息
    mkdir ~/mysql
    cd  ~/mysql
     docker run -id\  
      -p 3307:3306\
      --name=c_mysql\
      -v $PWD/conf:/etc/mysql/conf.d\
      -v $PWD/logs:/logs\
      -v $PWD/data:/var/lib/mysql\
      -e MYSQL_ROOT_PASSWORD=123456\
      mysql:5.7
  • 参数说明:
    • -p3307:3306 将容器的3306端口映射到宿主机的3307端口
    • -v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf。配置目录
    • -v$PWD/logs:/logs 将主机当前目录下的logs目录挂载到容器的/logs。日志目录。
    • -v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的/var/lib/mysql。数据目录
    • -e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
  1. 登录mysql:
    mysql -uroot -p
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!