最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker新建centos鏡像并配置遠(yuǎn)程訪問(wèn)的方法(親自實(shí)踐)

 更新時(shí)間:2025年09月12日 12:11:03   作者:伊成  
本文介紹了通過(guò)Docker創(chuàng)建多個(gè)CentOS容器模擬服務(wù)器環(huán)境的方法,涵蓋鏡像下載、網(wǎng)絡(luò)配置、自啟動(dòng)設(shè)置及解決systemd問(wèn)題,需添加privileged=true參數(shù)并安裝sshd以實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)和固定IP分配,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

寫(xiě)在前面

我們可能遇到過(guò)這種情況 , 為我們用于練習(xí) , 需要好幾臺(tái)服務(wù)器 , 但是我們又沒(méi)有 , 但是也想用 , 怎么辦呢?

Docker可以幫助我們解決 , 我們知道Docker鏡像中有一個(gè)centos鏡像 , 他就相當(dāng)于一個(gè)小型的虛擬機(jī) , 服務(wù)器 , 我們可以啟動(dòng)多次centos鏡像容器來(lái)達(dá)到多個(gè)服務(wù)器的效果 。

下面我來(lái)帶大家配置Docker創(chuàng)建centos鏡像 , 并配置遠(yuǎn)程訪問(wèn)

  1. 查找官方centos鏡像
[root@wangliuchuang ~]# docker search centos
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                            The official build of CentOS.                   6823                [OK]                
ansible/centos7-ansible           Ansible on Centos7                              135                                     [OK]
consol/centos-xfce-vnc            Centos container with "headless" VNC session…   132                                     [OK]
jdeathe/centos-ssh                OpenSSH / Supervisor / EPEL/IUS/SCL Repos - …   121                                     [OK]
centos/systemd                    systemd enabled base container.                 104                                     [OK]
imagine10255/centos6-lnmp-php56   centos6-lnmp-php56                              58                                      [OK]
tutum/centos                      Simple CentOS docker image with SSH access      48                                      
centos/postgresql-96-centos7      PostgreSQL is an advanced Object-Relational …   45                                      
centos/httpd-24-centos7           Platform for running Apache httpd 2.4 or bui…   40                                      
.......
starlabio/centos-native-build     Our CentOS image for native builds              0                                       [OK]
smartentry/centos                 centos with smartentry                          0                                       [OK]
  1. 下載鏡像(不選擇版本 , 默認(rèn)下載的是最新的版本)
[root@hrkj-video ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
[root@hrkj-video ~]# 
  1. Docker啟動(dòng)鏡像
[root@wangliuchuang ~]# docker run -it -d --name centos-latest --privileged=true  centos  /sbin/init
3f04ab1a71dc67a41dcf69bc81fcd9d16ead89457be09f7f1593c7518daa4ab6
[root@wangliuchuang ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c3053259c69c        centos              "/sbin/init"        7 seconds ago       Up 7 seconds                            centos-latest
[root@wangliuchuang ~]# 

注意 : 在Linux Docker 中無(wú)法使用 systemd(systemctl) 相關(guān)命令的原因是1號(hào)進(jìn)程不是init , 而是其他例如 /bin/bash ,
所以導(dǎo)致相關(guān)文件無(wú)法進(jìn)行 (System has not been booted with systemd as init system (PID 1). Can’t operat)

解決方案 : /sbin/init并且--privilaged=true一定要加上的。

  1. Docker查看centos容器的啟動(dòng)情況
[root@wangliuchuang ~]# docker ps | grep centos
c3053259c69c        centos              "/sbin/init"        2 minutes ago       Up 2 minutes                            centos-latest
[root@wangliuchuang ~]# 
  1. Docker進(jìn)入到centos容器
[root@wangliuchuang ~]# docker exec -it c3053259c69c /bin/bash
[root@c3053259c69c /]# ifconfig
bash: ifconfig: command not found
[root@c3053259c69c /]# 
  1. 安裝centos基礎(chǔ)環(huán)境 (安裝網(wǎng)絡(luò)環(huán)境,完成后使用ifconfig查看ip等信息)
yum -y install net-tools.x86_64
yum -y install openssh-server
yum install vim
yum install passwd

命令演示 :

[root@c3053259c69c /]# yum -y install net-tools.x86_64
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                                                                           9.7 MB/s | 9.5 MB     00:00    
CentOS Linux 8 - BaseOS                                                                                                              592 kB/s | 7.5 MB     00:13    
CentOS Linux 8 - Extras                                                                                                               13 kB/s |  10 kB     00:00    
Dependencies resolved.
=====================================================================================================================================================================
 Package                              Architecture                      Version                                              Repository                         Size
=====================================================================================================================================================================
Installing:
 net-tools                            x86_64                            2.0-0.52.20160912git.el8                             baseos                            322 k
.......
Installed:
  net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                          
Complete!
[root@c3053259c69c /]# 
# 安裝 sshd
[root@c3053259c69c /]# yum -y install openssh-server
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:01:31 ago on Thu Oct 28 10:24:23 2021.
Dependencies resolved.
=====================================================================================================================================================================
 Package                                    Architecture                       Version                                      Repository                          Size
=====================================================================================================================================================================
.....
Complete!
[root@c3053259c69c /]# 
# 安裝 vim
[root@c3053259c69c /]# yum install vim
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:02:01 ago on Wed Nov  3 03:03:33 2021.
Dependencies resolved.
===================================================================================================================================================================
 Package                                  Architecture                     Version                                       Repository                           Size
===================================================================================================================================================================
....
Installed:
  gpm-libs-1.20.7-17.el8.x86_64     vim-common-2:8.0.1763-15.el8.x86_64     vim-enhanced-2:8.0.1763-15.el8.x86_64     vim-filesystem-2:8.0.1763-15.el8.noarch    
  which-2.21-12.el8.x86_64         
Complete!
[root@c3053259c69c /]# 
# 安裝 passwd
[root@c3053259c69c /]# yum install passwd
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:03:31 ago on Wed Nov  3 03:03:33 2021.
Dependencies resolved.
===================================================================================================================================================================
 Package                               Architecture                         Version                                     Repository                            Size
===================================================================================================================================================================
Installing:
....
  libuser-0.62-23.el8.x86_64                                                        passwd-0.80-3.el8.x86_64                                                       
Complete!
[root@c3053259c69c /]# 
  1. 修改root密碼 , 服務(wù)器的登錄密碼
[root@c3053259c69c /]# passwd
Changing password for user root.
New password:            # 輸入新密碼
Retype new password:     # 再次輸入密碼
passwd: all authentication tokens updated successfully.
[root@c3053259c69c /]# 
  1. 啟動(dòng)容器sshd服務(wù)
[root@c3053259c69c /]# /usr/sbin/sshd     (此命令可以會(huì)出現(xiàn)問(wèn)題 , 下面有對(duì)應(yīng)的解決方案)
[root@c3053259c69c /]# netstat -antp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      233/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      233/sshd            
[root@c3053259c69c /]# 

問(wèn)題 :

[root@c3053259c69c /]# /usr/sbin/sshd
Unable to load host key: /etc/ssh/ssh_host_rsa_key
Unable to load host key: /etc/ssh/ssh_host_ecdsa_key
Unable to load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
[root@c3053259c69c /]# 

解決方案 : 執(zhí)行以下命令

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
  1. 提交鏡像
[root@c3053259c69c /]# 
[root@c3053259c69c /]# (使用 Ctrl + p + q) 來(lái)不停止退出容器
[root@wangliuchuang ~]# 
[root@wangliuchuang ~]# 
# 提交鏡像
[root@wangliuchuang ~]# docker commit -a="lep" -m "this is a ssh_centos" c3053259c69c ssh_centos
sha256:0c6d3118787dc04f0da1851f6a2c24f8f5ec8cb9026ac799d86a11e875986399
[root@wangliuchuang ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ssh_centos          latest              0c6d3118787d        4 seconds ago       310MB
centos              latest              5d0da3dc9764        6 weeks ago         231MB
[root@wangliuchuang ~]# 

運(yùn)行測(cè)試

  1. 指定端口來(lái)啟動(dòng)新的鏡像
[root@wangliuchuang ~]# docker run -it -d --name k8s-master -p 7010:22 --privileged=true ssh_centos /sbin/init
b07adedf27ff22f1e37aff9943c79bfeb740cedc51c71538c48fa526d1b5bb1b
[root@wangliuchuang ~]# 
[root@wangliuchuang ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
b07adedf27ff        ssh_centos          "/sbin/init"        34 seconds ago      Up 33 seconds       0.0.0.0:7010->22/tcp   k8s-master
  1. 測(cè)試訪問(wèn)(外網(wǎng)訪問(wèn))
C:\Users\lep>ssh root@wangliuchuang.top -p 7010
The authenticity of host '[wangliuchuang.top]:7010 ([39.105.56.212]:7010)' can't be established.
ECDSA key fingerprint is SHA256:e2NfNXC+RLLrW9rwfwInjtRW2hGTMwbYwnlUOIF4iaQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[wangliuchuang.top]:7010,[39.105.56.212]:7010' (ECDSA) to the list of known hosts.
root@wangliuchuang.top's password:
Last login: Wed Nov  3 03:47:22 2021 from 103.208.12.5
[root@b07adedf27ff ~]#

配置容器自啟動(dòng)

當(dāng)我們重啟服務(wù)器時(shí) , 容器也會(huì)跟著停止 , 這樣是很危險(xiǎn)的 , 所以下面配置了容器自啟動(dòng)

設(shè)置容器參數(shù) docker update --restart=always 容器id

[root@wangliuchuang ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c3053259c69c        centos              "/sbin/init"        18 minutes ago      Up 18 minutes                           centos-latest
[root@wangliuchuang ~]# docker update --restart=always c3053259c69c
c3053259c69c
[root@wangliuchuang ~]# 

還可以在使用on - failure策略時(shí),指定Docker將嘗試重新啟動(dòng)容器的最大次數(shù)

docker run --restart=on-failure:10  容器id

Docker啟動(dòng)時(shí) , 指定容器的ip

Docker創(chuàng)建容器時(shí)默認(rèn)采用bridge網(wǎng)絡(luò) , 自行分配ip , 不允許自己指定

在實(shí)際的部署中 , 我們需要指定容器的ip , 不允許其自行分配ip , 尤其是搭建集群時(shí) , 固定的ip是必須的

我們可以創(chuàng)建自己的bridge網(wǎng)絡(luò) : mynet , 創(chuàng)建容器時(shí)指定網(wǎng)絡(luò)mynet并指定ip即可

  1. 查看網(wǎng)絡(luò)模式
[root@wangliuchuang /]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
11565a6f8478        bridge              bridge              local
43b7c730c59d        host                host                local
d6f31afd8e07        none                null                local
[root@wangliuchuang /]# 
  1. 創(chuàng)建一個(gè)新的bridge網(wǎng)絡(luò)
[root@wangliuchuang ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 k8s-mynet
7402804f99b8096b231b85066eb90d303061f2504c3d8ff9d6d425e8a5d00324
[root@wangliuchuang ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
11565a6f8478        bridge              bridge              local
43b7c730c59d        host                host                local
7402804f99b8        k8s-mynet           bridge              local
d6f31afd8e07        none                null                local
[root@wangliuchuang ~]# 
  1. 查看創(chuàng)建的網(wǎng)絡(luò)的信息
[root@wangliuchuang ~]# docker network inspect 7402804f99b8
[
    {
        "Name": "k8s-mynet",
        "Id": "7402804f99b8096b231b85066eb90d303061f2504c3d8ff9d6d425e8a5d00324",
        "Created": "2021-11-03T15:11:20.019208537+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.0.0/16",
                    "Gateway": "192.168.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]
[root@wangliuchuang ~]# 
  1. 指定端口 , 指定網(wǎng)絡(luò) , 指定ip 來(lái)啟動(dòng)一個(gè)容器(注意 ; 分配內(nèi)網(wǎng)ip時(shí) , 設(shè)置大點(diǎn) , 不至于被占用)
[root@wangliuchuang /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ssh_centos          latest              0c6d3118787d        6 hours ago         310MB
centos              latest              5d0da3dc9764        6 weeks ago         231MB
[root@wangliuchuang /]# docker run -e TZ="Asia/Shanghai" -p 7010:22 --privileged -itd -h k8s-master --name k8s-master --network=k8s-mynet --ip 192.168.2.1 ssh_centos /usr/sbin/init
fac0f09991af0ca4902b3e7fbbb9b8e26eca30c957caded77ff96be755fc1f17
[root@wangliuchuang /]# 
[root@wangliuchuang /]# ssh root@192.168.2.1
The authenticity of host '192.168.2.1 (192.168.2.1)' can't be established.
ECDSA key fingerprint is SHA256:e2NfNXC+RLLrW9rwfwInjtRW2hGTMwbYwnlUOIF4iaQ.
ECDSA key fingerprint is MD5:8f:b9:57:8a:b2:5c:d9:d9:25:7f:ac:ce:57:c5:81:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.1' (ECDSA) to the list of known hosts.
root@192.168.2.1's password: 
# 可惜只能內(nèi)網(wǎng)訪問(wèn) , 外網(wǎng)就不行了 , 想要需要外網(wǎng)訪問(wèn) , 還需要修改一些其他的配置
Permission denied, please try again.
root@192.168.2.1's password: 
Last failed login: Wed Nov  3 09:41:42 UTC 2021 from 192.168.0.1 on ssh:notty
There was 1 failed login attempt since the last successful login.
[root@k8s-master ~]# 
[root@k8s-master ~]# 

如果你想在容器中使用docker命令 , 有下面兩種方式

  1. 在docker容器中下載 docker , 但是
  2. -v /var/run/:/var/run/ -v /usr/bin/docker:/usr/bin/docker

到此這篇關(guān)于Docker新建centos鏡像并配置遠(yuǎn)程訪問(wèn)的方法(親自實(shí)踐)的文章就介紹到這了,更多相關(guān)Docker新建centos鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause

    Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | d

    這篇文章主要介紹了Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause,本講內(nèi)容是從?Docker入門(mén)到進(jìn)階里面抽離出來(lái)的內(nèi)容,從而使原文更加有序、重點(diǎn)突出,需要的朋友可以參考下
    2023-08-08
  • docker-compose啟動(dòng)minio方式

    docker-compose啟動(dòng)minio方式

    文章介紹了創(chuàng)建文件夾、配置docker-compose.yml、開(kāi)啟防火墻以及驗(yàn)證服務(wù)的步驟,適用于新版和老版的RELEASE數(shù)據(jù)格式
    2025-01-01
  • 詳解Docker下nginx外掛配置和文件

    詳解Docker下nginx外掛配置和文件

    這篇文章主要介紹了Docker下nginx外掛配置和文件,啟動(dòng)容器、查看容器和停止容器的方式方法給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Docker之實(shí)現(xiàn)掛載的三種方式匯總

    Docker之實(shí)現(xiàn)掛載的三種方式匯總

    這篇文章主要介紹了Docker之實(shí)現(xiàn)掛載的三種方式匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Docker中的images存儲(chǔ)路徑修改

    Docker中的images存儲(chǔ)路徑修改

    這篇文章主要介紹了Docker中的images存儲(chǔ)路徑修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例

    Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例

    本文主要介紹了 Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Docker部署Jirafeau文件共享工具的實(shí)現(xiàn)步驟

    Docker部署Jirafeau文件共享工具的實(shí)現(xiàn)步驟

    Jirafeau 是一款開(kāi)源的文件分享工具,為用戶提供簡(jiǎn)單、快速的一鍵式文件上傳與分享服務(wù),本文就來(lái)介紹一下Docker部署Jirafeau文件共享工具的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2025-07-07
  • WSL2、Docker?Desktop安裝配置最新版保姆級(jí)教程(附詳細(xì)圖文)

    WSL2、Docker?Desktop安裝配置最新版保姆級(jí)教程(附詳細(xì)圖文)

    WSL2與Windows系統(tǒng)之間具有更好的隔離性,每個(gè)WSL2實(shí)例都運(yùn)行在獨(dú)立的輕量級(jí)虛擬機(jī)中,這有助于提高系統(tǒng)的安全性和穩(wěn)定性,這篇文章主要介紹了WSL2、Docker?Desktop安裝配置最新版保姆級(jí)教程的相關(guān)資料,需要的朋友可以參考下
    2025-12-12
  • 運(yùn)行中的docker容器端口映射如何修改詳解

    運(yùn)行中的docker容器端口映射如何修改詳解

    這篇文章主要給大家介紹了關(guān)于運(yùn)行中的docker容器端口映射如何修改的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 連接docker里面的mysql失敗解決方法

    連接docker里面的mysql失敗解決方法

    這篇文章主要介紹了連接docker里面的mysql失敗解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11

最新評(píng)論

墨江| 临湘市| 根河市| 汝南县| 仙桃市| 桐城市| 武邑县| 甘泉县| 蓝田县| 湘潭市| 英山县| 新宾| 克拉玛依市| 长乐市| 曲沃县| 贺州市| 化隆| 天门市| 拉萨市| 南漳县| 临武县| 张掖市| 鄂尔多斯市| 龙川县| 阳朔县| 江永县| 宜章县| 利川市| 莱阳市| 集安市| 论坛| 平泉县| 乳源| 揭东县| 宿松县| 右玉县| 盐津县| 潍坊市| 景谷| 招远市| 和硕县|