1. 程式人生 > >Docker使用開啟systemctl功能的cenos7映象

Docker使用開啟systemctl功能的cenos7映象

官網上說Systemd已經整合到最新的centos:7和centos:latest的基礎映象裡面了,但是預設並沒有啟用。

所以許多小夥伴不能直接使用Systemctl來開啟一些服務,這個非常讓人捉急,許多小夥伴根本不知道怎麼解決。

下面就簡單說一下如何解決這個問題:

首先,根據官網的提示,編寫整理適合自己的Dockerfile檔案,內容如下:

#centos with systemctl\ssh\...
FROM centos
ENV container docker
MAINTAINER Eli Kang <[email protected]>
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
RUN yum -y install net-tools
RUN yum -y install iproute
RUN yum -y install vim-enhanced
RUN yum -y install sudo passwd
RUN yum -y install iptables
RUN yum -y install openssl openssh-server
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  -N ''
RUN sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
RUN sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
RUN sed -i "s/#Port.*/Port 20022/g" /etc/ssh/sshd_config
RUN echo "root:123456" | chpasswd
EXPOSE 20022
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]

配置檔案已經帶上了一些常用的工具,如果有其他需要可以自行新增。

映象需要以在後臺執行,可以通過ssh進行連線,為了避免衝突,映象的ssh埠已經修改為了20022.

預設的root密碼已經修改為了123456,如有需要可以自行修改。

執行的時候需要以如下方式執行容器:

docker run --privileged -dti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 20022:20022 local/centos_ssh

然後就可以通過ssh連線映象了,訪問的IP就是docker容器所在host的IP。

連線之後的centos就可以使用systemctl了,趕快試一試吧!

本文由elikang整理,鑑於本人知識能力的不足,本文許多欠缺之處,歡迎討論指正。
歡迎加QQ群討論 :雲端計算- 532524739 ,聚焦docker && openstack。群裡會不斷分享有關雲端計算的資料。

相關推薦

Docker使用開啟systemctl功能cenos7映象

官網上說Systemd已經整合到最新的centos:7和centos:latest的基礎映象裡面了,但是預設並沒有啟用。 所以許多小夥伴不能直接使用Systemctl來開啟一些服務,這個非常讓人捉急,許多小夥伴根本不知道怎麼解決。 下面就簡單說一下如何解決這個問題: 首先

關於Centos7和Centos6中新分區如何開啟acl功能

新分區 如何開啟 功能 關於Centos7和Centos6中新分區如何開啟acl功能Centos7第一步:df:查看文件系統使用情況信息第二步:fdisk查看所有分區的詳細信息第三步:開始分區fdisk /dev/sda第四步:完成後更新分區,查看新分區第五步:在

如何探測瀏覽器是否開啟js功能

ext 禁用 size class java browser you 如何 write <body> ... ... <script type="text/javascript"> <!-- document.

S9306開啟web功能

str ctrl+ series serve byte -o file stat http S9306開啟web功能,有的裏邊已經有web,直接建立用戶分配權限即可,如沒有web按如下操作!****1、定義好tftp的文件路徑[圖片] 2、zz文件夾裏面放好文件web 3、

hive優化,開啟壓縮功能

調整 配置 emp mapr org format compress 數據傳輸 span 1、開啟hive作業mapreduce任務中間壓縮功能: 對於數據進行壓縮可以減少job中map和reduce task間的數據傳輸量。對於中間數據壓縮,選擇一個低cpu開銷編/解碼器

第十一篇- 實現APK開啟檔案功能

MainActivity.java package com.example.aimee.aimeetest3; import android.content.Context; import android.content.Intent; import android.net.Uri; import

docker推送自己的映象docker hub

環境: CentOS Linux release 7.4.1708 (Core) Linux核心:3.10.0-693.el7.x86_64 Docker: Client: 18.06.1-ce Server: 18.06.1-ce 構建自己的映象 # 建立一個

docker學習系列-jdk基礎映象製作

準備一臺安裝有docker服務的機器 1.編輯Dockerfile   vim Dockerfile FROM centos:latest ADD ./jdk-8u141-linux-x64.tar.gz /usr/local ENV JAVA_HOM

SpringBoot專案(單模組、多模組)使用docker容器執行jar包映象(踩坑)

SpringBoot專案(單模組、多模組)使用docker容器執行jar包映象(踩坑) 1.mavem docker外掛配置 <!--docker 外掛配置--> <build> <finalName>生成jar包的名稱</

docker簡易使用中國官方映象加速

docker簡易使用中國官方映象加速 通過 Docker 官方映象加速,中國區使用者能夠快速訪問最流行的 Docker 映象。該映象託管於中國大陸,本地使用者現在將會享受到更快的下載速度和更強的穩定性,從而能夠更敏捷地開發和交付 Docker 化應用。 Docker 中國官

docker實戰之使用mysql映象與wordpress映象搭建個人部落格

這次我打算寫一個實戰教程,以前寫的教程大多數是根據自己掌握的知識去寫的,並非實戰,這次試一下吧 首先docker這個東西我強烈推薦學習,因為真的很好用 下面先開始吧,廢話不多說,基礎的連線伺服器這些我就不囉嗦了,自個去百度吧,貌似我部落格也有 首先,使用yum安裝docker,命令如下

Docker 三個基本概念——映象、容器、倉庫

文章目錄 1、映象 (Image) 2、容器 (Container) 3、倉庫 (Repository) 3.1、倉庫註冊伺服器 4、映象與容器的關係 5、映象、容器、倉庫 執行關係圖:

Docker操作刪除所有容器映象

借鑑部落格:https://www.cnblogs.com/yanyouqiang/p/8301856.html https://blog.csdn.net/wy_97/article/details/79561813   這個部落格裡面只有停用,刪除容器,沒有刪除映象的命令 &nbs

Docker-獲取和使用Ubuntu映象

獲取映象 sudo pull [選項] [Docker Registry 地址[:埠號]/]倉庫名[:標籤] 例如:sudo pull ubuntu:16.04   執行映象 docker run -it --rm \ubuntu:16.04 \bash 注:-i是互動式

debian系統下apache2開啟ssi功能

SSI (Server Side Include)的 html 副檔名 (.shtml), 通常稱為"伺服器端嵌入"或者叫"伺服器端包含"說白了就是類似其他語言如 PHP include 引入其他檔案,SSI 是通過配置伺服器,一個靜態 html 檔案引入另一個 html 檔案的功能 被包含檔案與父檔案存在

Docker容器-構建Tomcat業務映象

接著上一篇文章來構建Tomcat業務映象,上篇已經把tomcat基礎映象已經完成了。這次基於tomcat基礎映象構建實際業務映象。 退到tomcat目錄下,新建兩個業務用的目錄檔案 [[email protected] /data/dockerfile/web/tomcat/tomcat-bas

docker定義、安裝、映象、容器

Docker是什麼 使用最廣泛的開源容器引擎 一種作業系統級的虛擬化技術 依賴於Linux核心特性:Namespace(資源隔離)和Cgroups(資源限制) 一個簡單的應用程式打包工具 Docker設計目標 提供簡單的應用程式打包工具 開發人員和運維人員職責邏輯分離

Docker基礎篇2:映象管理

1、映象簡介 簡單說,Docker映象是一個不包含Linux核心而又精簡的Linux作業系統。        映象不是一個單一的檔案,而是有多層構成。我們可以通過docker history <ID/NAME> 檢視映象中各層內容及大小,每

docker開啟加速(第三篇)

前言:    docker的映象倉庫在國外,下載會很慢,啟用阿里雲加速。   第一步:cd /etc/docker目錄下,開啟daemon.json   第二步:修改daemon.json檔案,新增阿里雲加速: {    "registr

haproxy開啟日誌功能

服務端: 修改配置檔案: [[email protected] /]# vim /etc/rsyslog.conf ...... $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 5