| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> docker更改映射端口(实践篇) -> 正文阅读 |
|
[系统运维]docker更改映射端口(实践篇) |
一、系统环境操作系统:centos7.7 docker环境:20.10.8 二、docker中使用systemctl测试环境需要搭建一个php的网页,果断选择了docker部署,需要在docker中部署httpd服务,因为docker中默认不允许运行systemctl服务,所以会出现以下错误
首先,systemctl是需要docker容器运行时,拥有系统真正的root权限。即在docker run命令式要加上 --privileged=true 网上说,大约在0.6版,privileged被引入docker。使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。systemctl就需要如此的权限,不然在容器中运行systemctl命令时,会报无权限的错误:
1.在dockerfile中加入: 此处命令的意思是,在容器启动时,运行/usr/sbin/init目录下的脚本,主要是启动dbus-daemon。
2.在启动容器的时候,运行/usr/sbin/init,即在docker run 命令最后,加上/usr/sbin/init。
?三、修改docker映射端口下面是运行中的docker环境,因为实际环境,我们需要修改docker映射端口,将docker的80 端口映射到本机的80 端口,docker的443端口映射到本机的443端口。 ?下面简单写下本人实践成功的一种方法。 1、停止docker容器
2、停止docker服务
3、进入到docker容器文件目录 ? ? ? ? id是容器id开头的那一长串。 ?4、备份原有文件,出现问题后可以还原回去。
?5、修改hostconfig.json。
?修改成想要的端口。 ?6、修改config.v2.json
?7、启动docker服务
8、启动docker容器
9、进行查看。? ?需要注意的是,docker修改完映射端口后,docker的ip可能会发生变化。 注:?以上为本人实际搭建过程中的经验总结,如果有什么问题,可以在评论区留言,大家一起探讨进步! |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:44:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |