IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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服务,所以会出现以下错误

Failed to get D-Bus connection: Operation not permitted;

首先,systemctl是需要docker容器运行时,拥有系统真正的root权限。即在docker run命令式要加上 --privileged=true

网上说,大约在0.6版,privileged被引入docker。使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。systemctl就需要如此的权限,不然在容器中运行systemctl命令时,会报无权限的错误:


其次,如果想在容器启动时,启动systemctl,那么有两种方法。

1.在dockerfile中加入:

此处命令的意思是,在容器启动时,运行/usr/sbin/init目录下的脚本,主要是启动dbus-daemon。

CMD ["/usr/sbin/init"]

2.在启动容器的时候,运行/usr/sbin/init,即在docker run 命令最后,加上/usr/sbin/init。

docker run ?--net host --privileged=true -itd --name aladdin-holdings -p 8991:80 -p 8993:443?centos:centos7 /usr/sbin/init

?三、修改docker映射端口

下面是运行中的docker环境,因为实际环境,我们需要修改docker映射端口,将docker的80 端口映射到本机的80 端口,docker的443端口映射到本机的443端口。

?下面简单写下本人实践成功的一种方法。

1、停止docker容器

docker stop?1f2f202dab24

2、停止docker服务

systemctl stop docker

3、进入到docker容器文件目录

? ? ? ? id是容器id开头的那一长串。

?4、备份原有文件,出现问题后可以还原回去。

cp?hostconfig.json?hostconfig-bak.json

cp?config.v2.json?config-bak.v2.json

?5、修改hostconfig.json。

vim??hostconfig.json

?修改成想要的端口。

?6、修改config.v2.json

vim?config.v2.json

#在下面合适的位置,填写端口信息。

"Ports":{"443/tcp":[{"HostIp":"0.0.0.0","HostPort":"443"}],"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"80"}]}

?7、启动docker服务

systemctl start?docker

8、启动docker容器

?docker start?1f2f202dab24

9、进行查看。?

?需要注意的是,docker修改完映射端口后,docker的ip可能会发生变化。

注:?

以上为本人实际搭建过程中的经验总结,如果有什么问题,可以在评论区留言,大家一起探讨进步!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章           查看所有文章
加:2021-09-14 13:47:18  更:2021-09-14 13:49:54 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码