1. 安装镜像docker pull mysql
    2. 启动一个image:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
    3. 进入image配置:docker exec -it some-mysql bash
    4. 进入mysql:mysql -h 127.0.0.1 -P 3306 -u root -p
    5. 创建数据库:CREATE DATABASE guoguangsportmysql;
    6. 创建用户并赋予权限
      1. CREATE USER 'guoguangsportmysql'@'%' IDENTIFIED BY 'guoguangsportmysql';
      2. GRANT ALL PRIVILEGES ON guoguangsportmysql.* TO 'guoguangsportmysql'@'%';
      3. FLUSH PRIVILEGES;
      ⚠️
      不小心已经启动了数据库并且配置过了库表用户,需要暴露端口,但是不想删掉volumn重新开,否则需要重新配置mysql
      需要修改 镜像暴露端口
      放弃了!重新生成一个吧

    1. MacOS 执行screen tty提示screen is terminatingReference:
    2. https: //www.jianshu.com/p/6aefed2be1c7
    3. https: //stackoverflow.com/questions/39739560/how-to-access-the-vm-created-by-dockers-hyperkit
    4. https: //github.com/docker/for-mac/issues/4822
    5. 问题描述
    6. Mac 系统需要动态修改 docker 容器参数时, 需要运行
    7. screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
    8. 但是显示
    9. [screen is terminating
    10. ]
    11. 解决方案
    12. docker run -it --privileged --pid=host justincormack/nsenter1
    13. copy 命令,pull justincormack/nsenter1 from dockerhub.
    14. cd /var/lib/docker/containers && ls
    15. 此时进入 justincormack/nsenter1 容器, 列出所有容器 ID, 根据所需容器 ID 进入文件夹
    16. 修改暴露端口 config.v2.json
    17. 关键字: ExposedPorts
    18. "ExposedPorts": {
    19. "80/tcp": {}
    20. }
    21. 修改如下:
    22. "ExposedPorts": {
    23. "80/tcp": {},
    24. "1234/tcp": {}
    25. }
    26. 修改端口映射 hostconfig.json
    27. 关键字: PortBindings
    28. "PortBindings": {
    29. "80/tcp": [
    30. {
    31. "HostIp": "",
    32. "HostPort": "80"
    33. }
    34. ]
    35. }
    36. 修改如下: "PortBindings": {
    37. "80/tcp": [
    38. {
    39. "HostIp": "",
    40. "HostPort": "8080"
    41. }
    42. ],
    43. "1234/tcp": [
    44. {
    45. "HostIp": "",
    46. "HostPort": "1234"
    47. }
    48. ]
    49. }
    50. 注意事项
    51. 所有修改开始前必须停止目标容器
    52. 所有修改完成后必须重新启动 Docker, 然后启动容器, 否则所有修改会被还原.
    53. 查询容器 ID 命令 docker inspect {docker name} | grep Id

    失败了上面的操作,镜像被弄没了
    docker run --name some-mysql -p outport:innerprot -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag