内网环境下让容器上网,并制作一个httpd容器

1.下载基础镜像

上一次,我们通过正向互联网代理在内网环境中,搭建了一个docker环境,具体环境如下:

复制代码
1) 内网docker服务器:192.168.123.1,操作系统为:redhat 7.9
2) 代理服务器(可通外网):192.168.110.2,操作系统为:redhat 7.9

我们在docker服务器上下载镜像进行测试:

复制代码
docker pull centos

2.运行容器

复制代码
docker run -itd -p 8080:80 --name wxtest_container --privileged centos /sbin/init

注:这里使用--privileged和/sbin/init参数启动容器,主要是为了方便在容器中安装软件,并通过systemctl命令启动软件服务

3.登陆容器

通过docker exec登陆容器

复制代码
docker exec -it wxtest_container /bin/bash

4.测试是否可以通外网

复制代码
curl https://www.baidu.com/

发现无法通外网

5.更改配置,让容器登陆外网

复制代码
vi /etc/profile
export http_proxy=http://192.168.110.2:9099
export https_proxy=http://192.168.110.2:9099
export no_proxy=localhost,127.0.0.1

source /etc/profile

6.测试是否可以通外网

复制代码
curl https://www.baidu.com/

7.配置yum源

由于在docker下没有安装wget工具,因此可以使用curl下载镜像源

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

8.安装Apache http服务

复制代码
yum install -y httpd

9.创建默认的访问界面index.html,启动httpd服务

复制代码
echo 'HelloDocker' >> /var/www/html/index.html

systemctl start httpd
systemctl enable httpd

10.制作镜像

在docker服务器上,制作镜像

复制代码
docker commit wx_tests_container Self_httpd
相关推荐
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256605 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h5 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab5 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥6 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
阿虎儿7 天前
Docker安装(非sudo用户可用)
docker
fetasty8 天前
rustfs加picgo图床搭建
docker