mysql忘记加端口映射docker_docker修改容器配置端口映射运行时添加映射-程序员宅基地

技术标签: mysql忘记加端口映射docker  

创建容器时的端口映射

docker run -d -p 80:80 --name name

替换容器, 需要停止容器,

$ docker stop A

$ docker commit A imageA #将容器commit提交成为一个镜像

$ docker rm A #删除原镜像

$ docker run -d -p 80:80 --name A imageA #启动新镜像

修改容器的配置, 需要重启 DOCKER 服务, 否则会失败

停止容器, 停止服务 (systemctl stop docker/service docker stop)

$ docker stop A

$ systemctl stop docker

修改 /var/lib/docker/containers/{容器 ID+ 一些字符串}/hostconfig.json 中

"PortBindings":{"容器端口 /tcp":[{"HostIp":"","HostPort":"宿主机端口"}]

同时修改同目录下的 config.v2.json 中 “ExposedPorts”:{“容器端口 /tcp”:{}}

"Ports":{"容器端口 /tcp":[{"HostIp":"0.0.0.0","HostPort":"宿主机端口"}]}

重启服务, 启动容器 (systemctl start docker/service docker start)

$ systemctl start docker

$ docker start A

例 hostconfig.json 已删除不相关配置, 只保留格式

{

"Config": {

"ExposedPorts": {

"5700/tcp": {},

"6700/tcp": {},

"9000/tcp": {}

}

},

"NetworkSettings": {

"Ports": {

"5700/tcp": [{

"HostIp": "0.0.0.0",

"HostPort": "10086"

}],

"6700/tcp": [{

"HostIp": "0.0.0.0",

"HostPort": "6700"

}],

"9000/tcp": [{

"HostIp": "0.0.0.0",

"HostPort": "8080"

}]

}

}

}

例 config.v2.json 已删除不相关配置, 只保留格式

{

"PortBindings": {

"5700/tcp": [{

"HostIp": "",

"HostPort": "10086"

}],

"6700/tcp": [{

"HostIp": "",

"HostPort": "6700"

}],

"9000/tcp": [{

"HostIp": "",

"HostPort": "8080"

}]

}

}

在容器运行时添加映射

iptables -t nat -A DOCKER -p tcp --dport 宿主机端口 -j DNAT --to-destination 容器ip:容器端口

查看容器 ip

docker inspect --format='{ {.NetworkSettings.IPAddress}}' $(docker ps -a -q)

有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动,

现在要添加该参数怎么办呢,方法有二:

1、Docker 命令修改

docker container update --restart=always 容器名字

2、直接改配置文件

首先停止容器,不然无法修改配置文件

配置文件路径为:/var/lib/docker/containers/容器ID

在该目录下找到一个文件 hostconfig.json ,找到该文件中关键字 RestartPolicy

修改前配置:"RestartPolicy":{"Name":"no","MaximumRetryCount":0}

修改后配置:"RestartPolicy":{"Name":"always","MaximumRetryCount":0}

最后启动容器。

修改docker容器的挂载路径

停止所有docker容器

sudo docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

停止docker服务

sudo service docker stop

修改mysql路径

cd ~

sudo cp -r mysql/ /home/server/

备份容器配置文件

cd /var/lib/docker/containers/de9c6501cdd3

cp hostconfig.json hostconfig.json.bak

cp config.v2.json config.v2.json.bak

修改hostconfig的冒号前的配置路径

vi hostconfig.json

"Binds": ["/home/server/mysql/conf/my.cnf:/etc/mysql/my.cnf", "/home/server/mysql/logs:/logs", "/home/server/mysql/data:/mysql_data"],

修改config的Source的配置路径

vi config.v2.json

"MountPoints": {

"/etc/mysql/my.cnf": {

"Source": "/home/server/mysql/conf/my.cnf",

"Destination": "/etc/mysql/my.cnf",

"RW": true,

"Name": "",

"Driver": "",

"Relabel": "",

"Propagation": "rprivate",

"Named": false,

"ID": ""

},

"/logs": {

"Source": "/home/server/mysql/logs",

"Destination": "/logs",

"RW": true,

"Name": "",

"Driver": "",

"Relabel": "",

"Propagation": "rprivate",

"Named": false,

"ID": ""

},

"/mysql_data": {

"Source": "/home/server/mysql/data",

"Destination": "/mysql_data",

"RW": true,

"Name": "",

"Driver": "",

"Relabel": "",

"Propagation": "rprivate",

"Named": false,

"ID": ""

},

"/var/lib/mysql": {

"Source": "",

"Destination": "/var/lib/mysql",

"RW": true,

"Name": "85d91bff7012b57606af819480ce267449084e81ab386737c80ace9fe75f6621",

"Driver": "local",

"Relabel": "",

"Propagation": "",

"Named": false,

"ID": "897cd0152dd152166cb2715044ca4a3915a1b66280e0eb096eb74c2d737d7f77"

}

},

启动docker服务

sudo service docker start

启动所有docker容器

sudo docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

修改docker默认的存储位置

docker 的所有images及相关信息存储位置为:/var/lib/docker

查看默认的docker存储路径

docker info |grep 'Docker Root Dir'

WARNING: No swap limit support

Docker Root Dir: /var/lib/docker

停止所有docker容器

sudo docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

停止docker服务

sudo service docker stop

cd /var/lib

打包docker目录

sudo tar -czvf /usr/docker.tar.gz docker/

cd /usr/

sudo tar -xzvf docker.tar.gz

修改docker默认的存储位置

sudo vim /etc/docker/daemon.json

{

"graph": "/home/server/docker"

}

启动docker服务

sudo service docker start

启动所有docker容器

sudo docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

查看修改后docker存储路径

docker info |grep 'Docker Root Dir'

WARNING: No swap limit support

Docker Root Dir: /usr/docker

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42298927/article/details/114346618

智能推荐

java-php-python-ssm搬家预约系统计算机毕业设计-程序员宅基地

文章浏览阅读110次。springboot基于SpringBoot的创意项目众筹平台的设计与开发。springboot基于Vue.js的云医疗自助就诊平台的设计与实现。springboot基于Springboot技术的装潢公司网站开发。springboot基于JSP的企业办公管理系统设计与实现。jsp会议管理系统的设计与实现sqlserver。ssm临港新片区招商引资项目管理系统的设计与实现。

Elasticsearch结构化搜索_在案例中实战使用terms搜索多个值以及多值搜索结果优化_"term\" : {\"value\" : \"]\","-程序员宅基地

文章浏览阅读1.1k次。课程大纲term: {"field": "value"}terms: {"field": ["value1", "value2"]}sql中的inselect * from tbl where col in ("value1", "value2")1、为帖子数据增加tag字段POST /forum/article/_bulk{ "update":_"term\" : {\"value\" : \"]\","

openwrt挂载U盘或SD卡作为根文件系统_openwrt u盘作为根分区-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏19次。使用openwrt安装插件,发现flash太小,使用U盘或SD卡制作一个磁盘较大的根文件系统,用来安装较大的插件,如adguardhome#安装必要工具,Openwrt连接上互联网,使用ssh登陆openwrt,执行一下命令:root@GL-MT1300:/# opkg updateroot@GL-MT1300:/# opkg install block-mount kmod-usb-storage kmod-fs-ext4 e2fsprogs#格式化U盘/SD卡,假设U盘设备节点为/dev/s_openwrt u盘作为根分区

tensorflow14《TensorFlow实战Google深度学习框架》笔记-06-03 迁移学习 code_实战google深度学习框架代码-程序员宅基地

文章浏览阅读4.5k次。# 《TensorFlow实战Google深度学习框架》06 图像识别与卷积神经网络# win10 Tensorflow1.0.1 python3.5.3# CUDA v8.0 cudnn-8.0-windows10-x64-v5.1# filename:ts06.03.py # 迁移学习# 以下实验需要如下资源# 源码及资源位置:git clone https://github.com/c_实战google深度学习框架代码

H3C路由器配置——静态路由-程序员宅基地

文章浏览阅读7.3k次,点赞6次,收藏37次。一、网络畅通条件及排错思路1、网络畅通的条件网络畅通的条件:数据包能去能回,也是我们排除网络故障的理论依据。2、网络不畅通示列①、目标主机不可达  原因分析:可能是数据包没有到达目的地,在中途就丢去了(绝大部分原因是在去的路上没有配置路由条目)。②、请求超时  原因分析:可能是数据包到了目的地,返不回来(绝大部分原因是在回的路上没有配置路由条目)。3、..._h3添加静态路由

使用MongoDB中Aggregation统计数据_mongodb差值统计-程序员宅基地

文章浏览阅读5.2k次。{ftoc}聚合管道(Aggregation Pipeline)定义聚合管道是MongoDB提供的一种数据统计框架。通过Aggregation操作,能够实现类似于SQL 中Group By操作的功能。由于之前MongoDB中实现聚合操作需使用相对复杂的MapReduce,而聚合管道拥有固定的操作符表达, 使用更为简单。因此,聚合管道能够成为MapReduce_mongodb差值统计

随便推点

2023 电赛 E 题 激光笔识别有误--使用K210/Openmv/树莓派/Jetson nano实现激光笔在黑色区域的目标检测_k210 jetson-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏49次。使用目标检测方法实现检测在黑色区域的激光笔的位置_k210 jetson

山东大学项目实训(一)—— 初期成果展示_技术开发实习生项目成果展示-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏7次。小程序前端开发环境介绍项目介绍需求说明文档小程序开发初期成果展示(后面章节会介绍具体代码实现)登录界面首页界面上报事件功能总结环境介绍开发工具 —— HBuilder X运行工具 —— 微信开发者工具主要开发技术 —— uni-app项目介绍开发本系统的目的是规范不良事件的报告、流转审批、数据统计、原因分析、措施改进与效果跟踪的流程,全面覆盖医院所有科室,利用统计工具对不良事件进行全面分析,查找医疗安全管理的薄弱环节,帮助医院高效处理不良事件隐患,提供预警能力,并采取针对性措施预防不良事件的发生_技术开发实习生项目成果展示

nodejs 获取时间加手机标识的32位标识_node 生成30位随机hex-程序员宅基地

文章浏览阅读1.3k次。**nodejs 获取时间加手机标识的32位标识**var crypto = require("crypto");function randomlogn(num){ var n = num.split(''); var m = []; for(var i=0;i<16;i++){ m[i] = n[Math.floor(Math.random()*17)];_node 生成30位随机hex

Oracle11g默认目录结构-程序员宅基地

文章浏览阅读2.3k次。Oracle11g默认目录结构from: http://www.dbform.com/archives/369Oracle11g到现在为止应该算是正式发布了,基本上主流的操作系统平台版本都已经可以下载了。在自己的机器上安装了一套for Windows 32bit的版本,在Windows平台下安装Oracle一如既往的简单和流畅,安装完软件,DBCA创建数据库,之后让我们来看一下Or..._windows 系统下 oracle 11g 控制文件control1 和 control2 默认目录分别是哪里?

电子常识_二极管档 压降 含义-程序员宅基地

文章浏览阅读953次。电子常识_二极管档 压降 含义

5G MEC分流方案探讨_mec部署条件-程序员宅基地

文章浏览阅读893次。在Multi-homingchag场景下,UPF应支持IPv6多归属(Multi-homing)功能,即一个PDU会话可以与多个IPv6前缀相关联,该UPF作为分支点(Branching Point)连接多个PDU会话锚点UPF,再接入数据网络,并支持提供将不同IPv6前缀的上行业务流转发至不同的PDU会话锚点UPF,以及将来自链路上的不同PDU会话锚点UPF的下行业务流合并到5G终端,可同时作为IPv6多归属的分支点和PDU会话锚点。用户PDU会话经过边缘UPF,通过UL CL分流。_mec部署条件

推荐文章

热门文章

相关标签