- 安装镜像
docker pull mysql - 启动一个image:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag - 进入image配置:
docker exec -it some-mysql bash - 进入mysql:
mysql -h 127.0.0.1 -P 3306 -u root -p - 创建数据库:
CREATE DATABASE guoguangsportmysql; - 创建用户并赋予权限
⚠️CREATE USER 'guoguangsportmysql'@'%' IDENTIFIED BY 'guoguangsportmysql';GRANT ALL PRIVILEGES ON guoguangsportmysql.* TO 'guoguangsportmysql'@'%';FLUSH PRIVILEGES;
不小心已经启动了数据库并且配置过了库表用户,需要暴露端口,但是不想删掉volumn重新开,否则需要重新配置mysql
需要修改 镜像暴露端口
放弃了!重新生成一个吧
MacOS 执行screen tty提示screen is terminatingReference:https: //www.jianshu.com/p/6aefed2be1c7https: //stackoverflow.com/questions/39739560/how-to-access-the-vm-created-by-dockers-hyperkithttps: //github.com/docker/for-mac/issues/4822问题描述Mac 系统需要动态修改 docker 容器参数时, 需要运行screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty但是显示[screen is terminating]解决方案docker run -it --privileged --pid=host justincormack/nsenter1copy 命令,pull justincormack/nsenter1 from dockerhub.cd /var/lib/docker/containers && ls此时进入 justincormack/nsenter1 容器, 列出所有容器 ID, 根据所需容器 ID 进入文件夹修改暴露端口 config.v2.json关键字: ExposedPorts,"ExposedPorts": {"80/tcp": {}}修改如下:"ExposedPorts": {"80/tcp": {},"1234/tcp": {}}修改端口映射 hostconfig.json关键字: PortBindings"PortBindings": {"80/tcp": [{"HostIp": "","HostPort": "80"}]}修改如下: "PortBindings": {"80/tcp": [{"HostIp": "","HostPort": "8080"}],"1234/tcp": [{"HostIp": "","HostPort": "1234"}]}注意事项所有修改开始前必须停止目标容器所有修改完成后必须重新启动 Docker, 然后启动容器, 否则所有修改会被还原.查询容器 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
