内网环境下让容器上网,并制作一个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
相关推荐
梵法利亚5 分钟前
Ubuntu-docker安装mysql
mysql·ubuntu·docker
银河小铁骑plus1 小时前
Go学习笔记:基础语法6
笔记·学习·golang
汤姆和杰瑞在瑞士吃糯米粑粑2 小时前
【Linux学习篇】--开发工具第一期
linux·运维·学习
sealaugh322 小时前
aws(学习笔记第三十二课) 深入使用cdk(API Gateway + event bridge)
笔记·学习·aws
江小年2 小时前
Gin学习笔记
笔记·学习·gin
charlie1145141913 小时前
IMX6ULL驱动开发Linux篇02——移植Rootfs
linux·驱动开发·学习·内核·rootfs·教程·移植
猴的哥儿5 小时前
Ubuntu 22.04 LTS 入门教学文档
linux·运维·ubuntu·docker
蜡笔小新星6 小时前
Flask项目框架
开发语言·前端·经验分享·后端·python·学习·flask
cliff,6 小时前
【python爬虫】酷狗音乐爬取
笔记·爬虫·python·学习
云上艺旅9 小时前
K8S学习之基础十八:k8s的灰度发布和金丝雀部署
学习·云原生·容器·kubernetes