docker構(gòu)建python3.7鏡像

安裝 Docker Engine-Community

使用 Docker 倉(cāng)庫(kù)進(jìn)行安裝

在新主機(jī)上首次安裝 Docker Engine-Community 之前,需要設(shè)置 Docker 倉(cāng)庫(kù)。之后振坚,您可以從倉(cāng)庫(kù)安裝和更新 Docker延旧。

設(shè)置倉(cāng)庫(kù)

安裝所需的軟件包熏挎。yum-utils 提供了 yum-config-manager ,并且 device mapper 存儲(chǔ)驅(qū)動(dòng)程序需要 device-mapper-persistent-data 和 lvm2。

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用以下命令來(lái)設(shè)置穩(wěn)定的倉(cāng)庫(kù)。

$ sudo yum-config-manager \
 --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安裝 Docker Engine-Community

安裝最新版本的 Docker Engine-Community 和 containerd羽历,或者轉(zhuǎn)到下一步安裝特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

如果提示您接受 GPG 密鑰,請(qǐng)選是淡喜。

啟動(dòng) Docker秕磷。

$ sudo  systemctl start docker

構(gòu)建python3鏡像

一.在Dockerfile/Dockerfile 中寫(xiě)入以下代碼

注意:Dockerfile目錄中最好不要有多余的文件,也會(huì)發(fā)送給docker引擎,速度會(huì)變慢

##############################################
# 基于centos7構(gòu)建python3運(yùn)行環(huán)境
# 構(gòu)建命令: 在Dockerfile文件目錄下執(zhí)行 docker build -t python:37 .
# 容器啟動(dòng)命令: docker run -itd --name python --restart always --privileged=true -v /root/dockers/python:/root/python -v /root/dockers/python/cron:/var/spool/cron python:37 /usr/sbin/init
# 進(jìn)入容器:docker exec -it python /bin/bash
##############################################
FROM centos:7.6.1810
MAINTAINER mioshu # 指定作者信息
RUN set -ex \
    # 預(yù)安裝所需組件
    && yum install -y wget tar libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make initscripts \
    && wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz \
    && tar -zxvf Python-3.7.0.tgz \
    && cd Python-3.7.0 \
    && ./configure prefix=/usr/local/python3 \
    && make \
    && make install \
    && make clean \
    && rm -rf /Python-3.7.0* \
    && yum install -y epel-release \
    && yum install -y python-pip
# 設(shè)置默認(rèn)為python3
RUN set -ex \
    # 備份舊版本python
    && mv /usr/bin/python /usr/bin/python27 \
    && mv /usr/bin/pip /usr/bin/pip27 \
    # 配置默認(rèn)為python3
    && ln -s /usr/local/python3/bin/python3.7 /usr/bin/python \
    && ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
# 修復(fù)因修改python版本導(dǎo)致yum失效問(wèn)題
RUN set -ex \
    && sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/bin/yum \
    && sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/libexec/urlgrabber-ext-down \
    && yum install -y deltarpm
# 基礎(chǔ)環(huán)境配置
RUN set -ex \
    # 修改系統(tǒng)時(shí)區(qū)為東八區(qū)
    && rm -rf /etc/localtime \
    && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && yum install -y vim \
    # 安裝定時(shí)任務(wù)組件
    && yum -y install cronie
# 支持中文
RUN yum install kde-l10n-Chinese -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 更新pip版本
RUN pip install --upgrade pip
ENV LC_ALL zh_CN.UTF-8

二 dockerfile構(gòu)建命令:

在Dockerfile文件目錄下執(zhí)行

docker build -t python:37 .
  • -t:指定鏡像名稱
image

三 啟動(dòng)容器

docker run -itd --name python --restart always --privileged=true -v /root/dockers/python:/root/python -v /root/dockers/python/cron:/var/spool/cron python:37 /usr/sbin/init

docker run 命令會(huì)創(chuàng)建一個(gè)名為python的容器

  • -i:互交模式
  • -t:終端模式
  • -d:后臺(tái)啟動(dòng)
  • --name: 容器名稱炼团,即后面的python
  • -v:資源卷映射澎嚣,主機(jī)目錄、文件映射到容器目錄瘟芝、文件

四 進(jìn)入容器

docker exec -it python /bin/bash

五 導(dǎo)出容器

Ctrl + d 退出當(dāng)前容器后執(zhí)行下面語(yǔ)句

docker export python > python.tar

六易桃、導(dǎo)入容器

docker import python.tar python:3

通過(guò)export+import的方法創(chuàng)建鏡像不會(huì)保留鏡像歷史,可以縮小鏡像體積

image

七锌俱、push到hub

需要先到 https://hub.docker.com 注冊(cè)一個(gè)賬號(hào)

image
image

上傳完成后可以在任一主機(jī)上拉取鏡像:

docker pull vfrtgb158/python:3

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晤郑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嚼鹉,更是在濱河造成了極大的恐慌贩汉,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锚赤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡褐鸥,警方通過(guò)查閱死者的電腦和手機(jī)线脚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叫榕,“玉大人浑侥,你說(shuō)我怎么就攤上這事∥铮” “怎么了寓落?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)荞下。 經(jīng)常有香客問(wèn)我伶选,道長(zhǎng)史飞,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任仰税,我火速辦了婚禮构资,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陨簇。我一直安慰自己吐绵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布河绽。 她就那樣靜靜地躺著己单,像睡著了一般。 火紅的嫁衣襯著肌膚如雪耙饰。 梳的紋絲不亂的頭發(fā)上荷鼠,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音榔幸,去河邊找鬼允乐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛削咆,可吹牛的內(nèi)容都是我干的牍疏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拨齐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鳞陨!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起瞻惋,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厦滤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后歼狼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掏导,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年羽峰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趟咆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梅屉,死狀恐怖值纱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情坯汤,我是刑警寧澤虐唠,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站惰聂,受9級(jí)特大地震影響疆偿,放射性物質(zhì)發(fā)生泄漏咱筛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一翁脆、第九天 我趴在偏房一處隱蔽的房頂上張望眷蚓。 院中可真熱鬧,春花似錦反番、人聲如沸沙热。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)篙贸。三九已至,卻和暖如春枫疆,著一層夾襖步出監(jiān)牢的瞬間爵川,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工息楔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寝贡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓值依,卻偏偏與公主長(zhǎng)得像圃泡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愿险,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容