在把自己的專案通過docker進行打包時,由於專案中用到了crontab,不過使用到的基礎映象python:3.6-slim
並沒有安裝這項服務,記錄下在映象中安裝和配置crontab的過程。
由於基礎映象中沒有crontab服務,需要在打包自己映象的dockerfile中加入安裝cron服務的步驟。
執行apt安裝時注意加入from python:3.6-slim
maintainer whx3000 run apt-get update && \
apt-get install -y --no-install-recommends \
cron && \
rm -rf /var/lib/apt/lists/* && \
apt-get clean
run chmod +x ./docker-entrypoint.sh
env lc_all c.utf-8
entrypoint ["./docker-entrypoint.sh"]
-y --no-install-recommends
,並且在安裝完成後執行rm -rf /var/lib/apt/lists/* && apt-get clean
命令,可以有效減小映象的體積。
這樣安裝完cron服務後,crontab服務並不會自啟動,還需要乙個docker-entrypoint.sh
啟動指令碼來新增crontab的啟動命令。
#!/bin/bash
set -x
# 儲存環境變數,開啟crontab服務
env >> /etc/default/locale
/etc/init.d/cron start
/etc/init.d/cron start
用於啟動crontab服務,但這樣啟動的crontab服務中配置的定時命令是沒有dockerfile中設定的環境變數的。因此還需要在這之前執行env >> /etc/default/locale
,這樣有dockerfile中通過env
設定的環境變數在crontab中就可以正常讀取了。 在Docker中執行Sphinx基礎
該文原文為 sphinx in docker.the basics.發表於 留心一下網際網路,你會發現一些關於docker的訊息。docker是乙個幫助開發者和系統管理員構建 封裝和執行分布式應用的開源平台。在這篇部落格中,我會就如何在乙個docker容器內使用sphinx,建立乙個基本的例項。什麼...
在OS X上執行Docker
brew update brew install docker brew install boot2docker docker剛開始推出的時候,只支援ubuntu。因為docker依賴於linux container,預設是不支援os x系統的。因此如果我們想在os x上使用docker,就必須借助...
Docker容器中執行docker 命令
一 在一台執行了docker的伺服器上,啟動374c3bec1f4b 映象的容器,這個映象中安裝docker yum install docker y docker run itd v var run docker.sock var run docker.sock name docker test ...