Docker容器基础镜像安装软件

Docker容器基础镜像安装软件,可以作为centos完整版和ubuntu完整版
使用,就如同操作系统一般。

第一部分:centos

1、创建容器网卡

docker network create --subnet=172.172.1.0/24 pg-network

[root@openstack ~]# docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
4aeda955799e   bridge       bridge    local
42c213021c95   host         host      local
a02badcd56ef   none         null      local
8f19426adf98   pg-network   bridge    local

[root@openstack ~]# docker network inspect pg-network
[
    {
        "Name": "pg-network",
        "Id": "8f19426adf98cb079ad1cc6b390a8d09a9bb6f3cef22acd905599b3c4634aa6f",
        "Created": "2023-12-07T09:15:48.653438651+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.172.1.0/24"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "1fbc970cda7247fd1828a493a3d4bc8121abb47a469c0375357fc2943f56ae1a": {
                "Name": "pgtest",
                "EndpointID": "265cb278148a9a9403cb8a4d6b11ca4637f572cdc397034955f814cf66726558",
                "MacAddress": "02:42:ac:ac:01:02",
                "IPv4Address": "172.172.1.2/24",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]


2、获取基础镜像

[root@openstack ~]# docker images|grep centos
centos             7.6.1810   f1cb7c7d58b7   4 years ago   202MB
You have new mail in /var/spool/mail/root

3、创建容器

docker run -d --name pgtest -h pgtest \
  --net=pg-network --ip 172.172.1.2 \
  -p 65432:5432 \
  -v /sys/fs/cgroup:/sys/fs/cgroup \
  --privileged=true centos:7.6.1810 \
  /usr/sbin/init

3、yum安装软件

yum -y update && \
    yum -y install wget && \
    yum -y install tar && \
    yum -y install bzip2 && \
    yum -y install unzip && \
    yum -y install net-tools && \
    yum -y install tcpdump && \
    yum -y install telnet && \
    yum -y install vim && \
    yum -y install git && \
    yum -y install openssh-server && \
    yum -y install java-1.8.0-openjdk && \
    yum -y install perl && \
    yum -y install python && \
    yum -y install ruby && \
    yum -y install php && \
    yum -y install gcc && \
    yum -y install make && \
    yum -y install autoconf && \
    yum -y install automake && \
    yum -y install libtool && \
    yum -y install libxml2-devel && \
    yum -y install libpng-devel && \
    yum -y install libjpeg-devel && \
    yum -y install freetype-devel && \
    yum -y install openssl-devel && \
    yum -y install libcurl-devel && \
    yum -y install libxslt-devel && \
    yum -y install bzip2-devel && \
    yum -y install readline-devel && \
    yum -y install sqlite-devel && \
    yum -y install postgresql-devel && \
    yum -y install mariadb-server && \
    yum -y install httpd && \
    yum -y install vsftpd && \
    yum -y install epel-release && \
    yum -y install supervisor && \
    yum -y install libselinux-utils && \
    yum -y install firewalld && \
    yum -y install lrzsz && \
    yum -y install NetworkManager &&\
    yum -y clean all

4、安装iproute2

iproute是Linux下一个网络管理工具包合集,用于取代先前的如ifconfig,route,ifup,ifdown,netstat等历史网络管理工具。该工具包功能强大,它通过网络链路套接字接口与内核进行联系。iproute的用户界面比net-tools的用户界面要更直观。对网络资源比如链路、IP地址、路由和隧道等用“对象”抽象进行了恰当的定义,因此可以使用一致的语法来管理不同的对象。


image.png
下载网址:
https://www.kernel.org/pub/linux/utils/net/iproute2/

配置hosts解析
[root@pgtest /]# echo "147.75.48.161 mirrors.edge.kernel.org" >> /etc/hosts

查看centos7.6已安装的参考版本
[root@openstack ~]#  rpm -qa|grep iproute
iproute-4.11.0-30.el7.x86_64


获取软件包
https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.11.0.tar.gz


编译源码安装
安装依赖
[root@pgtest data]#yum install -y gcc bison flex

解压包
[root@pgtest data]#tar -xzf  iproute2-3.17.0.tar.gz

[root@pgtest data]#cd iproute2-3.17.0

[root@pgtest iproute2-4.11.0]#sed -i '/^TARGETS/s@arpd@@g' misc/Makefile

[root@pgtest iproute2-4.11.0]#make SBINDIR=/sbin

[root@pgtest iproute2-4.11.0]#make SBINDIR=/sbin install


可以使用ip命令了
[root@pgtest iproute2-4.11.0]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
14: eth0@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:ac:01:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.172.1.2/24 brd 172.172.1.255 scope global eth0
       valid_lft forever preferred_lft forever
[root@pgtest iproute2-4.11.0]#

5、docker将容器打包成镜像

[root@openstack ~]# docker stop pgtest
pgtest
[root@openstack ~]# docker commit pgtest centos:7.6
sha256:c776dc868dcc5dca7279baf6b80ae552f136d2f1d4c7d74f1670468c77f37389

[root@openstack ~]# docker images |grep centos
centos             7.6        c776dc868dcc   14 seconds ago   1.4GB
centos             7.6.1810   f1cb7c7d58b7   4 years ago      202MB

第二部分:ubuntu

1、拉取基础镜像

[root@openstack ~]#  docker pull   ubuntu:20.04
20.04: Pulling from library/ubuntu
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Image is up to date for ubuntu:20.04
docker.io/library/ubuntu:20.04

[root@openstack ~]# docker images|grep ubuntu
ubuntu             20.04      ba6acccedd29   2 years ago      72.8MB

2、启动容器

[root@openstack ~]# docker run -d -it --name ubuntu2004test  -h ubuntu2004test  ubuntu:20.04
611ff690cc7832461de640784c1d3516a0f1ffc2b8f3d5a8eea6d6a3b677a538


进入容器
[root@openstack ~]#  docker exec -it ubuntu2004test bash
root@ubuntu2004test:/# 

3、ubuntu安装基础依赖软件,可选择性安装

更新软件源
root@121bc3b6fbfc:/etc# apt-get update

安装软件
root@121bc3b6fbfc:/etc# 
apt -y install wget && \
apt -y install tar && \
apt -y install bzip2 && \
apt -y install unzip && \
apt -y install net-tools && \
apt -y install tcpdump && \
apt -y install telnet && \
apt -y install vim && \
apt -y install git && \
apt -y install openssh-server && \
apt -y install java-1.8.0-openjdk && \
apt -y install perl && \
apt -y install python && \
apt -y install ruby && \
apt -y install php && \
apt -y install gcc && \
apt -y install make && \
apt -y install autoconf && \
apt -y install automake && \
apt -y install libtool && \
apt -y install libxml2-devel && \
apt -y install libpng-devel && \
apt -y install libjpeg-devel && \
apt -y install freetype-devel && \
apt -y install openssl-devel && \
apt -y install libcurl-devel && \
apt -y install libxslt-devel && \
apt -y install bzip2-devel && \
apt -y install readline-devel && \
apt -y install sqlite-devel && \
apt -y install postgresql-devel && \
apt -y install mariadb-server && \
apt -y install httpd && \
apt -y install vsftpd && \
apt -y install epel-release && \
apt -y install supervisor && \
apt -y install libselinux-utils && \
apt -y install firewalld && \
apt -y install lrzsz && \
apt -y install NetworkManager 

4、ubunt20.04安装iproute2

进入网站 [https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/](https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/)
下载某版本压缩包

下载软件包
root@ubuntu2004test:/data/iproute2-4.10.0# wget https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.10.0.tar.gz

root@ubuntu2004test:/data/iproute2-4.10.0# tar xvf iproute2-4.10.0.tar.gz 


安装iproute2依赖包
sudo apt-get install bison flex

编译安装

sudo make
sudo make install
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容