Docker入门小记

Dockers从入门到实践---使用 Supervisor 来管理进程 mark

使用 Supervisor 来管理进程http://yeasy.gitbooks.io/docker_practice/content/cases/supervisor.html

来搭建doacker,遇到点问题,特mark一下。

supervisor配置文件内容 supervisord.conf

[program:apache2]

command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND"

配置文件包含目录和进程,第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。第二段包含要控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令。

这段我在ubunt14.04下无法成功,改成这段

[program:apache2]

command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apachectl -k start"

可以运行成功,然后运行容器采用后台运行的方法

docker run -d -p 80:80 test/supervisords

-d 后台运行

-p 80:80 主机的80端口映射到容器的80端口

test/supervisords 镜像名

ps:docker里面的Ubuntu好像后台运行sshd服务器很麻烦,书上这种方法不行,因为你根本不知道ssh的用户名密码,ubuntu好像也不提供改用户密码的批命令。所以dockerfile里面的ssh相关内容均可去掉。

vim supervisord.conf

[supervisord]

nodaemon=true

[program:sshd]

command=/usr/sbin/sshd -D

[program:apache2]

command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apachectl -k start"

vim Dockerfile

FROM docker.cn/docker/ubuntu

MAINTAINER [email protected]

RUN echo "deb http://mirrors.aliyun.com/ubuntu trusty main universe">/etc/apt/sources.list

RUN apt-get update

RUN apt-get upgrade -y

RUN apt-get install -y apache2 supervisor

RUN mkdir -p /var/log/supervisor

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

EXPOSE 80

CMD ["/usr/bin/supervisord"]

~

时间: 2024-12-28 09:14:04

Docker入门小记的相关文章

docker入门概览

docker入门概览 标签 : docker docker入门概览 写在前面 概述 什么是Docker 什么是Docker Engine Docker的用处 安装 Ubuntu Mac OS X 演示 架构和原理 结语 参考资料 本文对docker进行大致介绍,包括概述,安装,简单使用,架构,基本原理等方面 写在前面 本文是自己学习docker的一个记录和整理,啃英文文档挺吃力的,懒得翻译,所以写这篇类似"索引"的文章,希望能帮助和我一样的新手快速入门 本文主要参考官方文档(Docke

Docker入门教程(一)介绍

http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了Docker的基础概念以及Docker的安装. Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere(译者注:这个就不翻译了,翻译出来味道就没了)”.本文是Flux7的Docker系列教程的第一部分.请和这

Docker入门教程(二)命令

Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker系列教程的第一篇文章中,我们了解了Docker的基础知识,知道了它是如何工作以及如何安装的.在这篇文章中,我们将学习15个Docker命令,并通过实践来学习它是如何工作的. 首先,让我们通过下面的命令来检查Docker的安装是否正确: docker info  如果没有找到这条命令,则表示Docke

Docker入门教程(四)Docker Registry

Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它是Docker中的重要组件.本文通过情景演绎的方式对其进行了介绍,图文并茂,强烈推荐读者阅读. 在Docker系列教程的上一篇文章中,我们讨论了Dockerfile的重要性并提供了一系列Dockerfile的命令,使镜像的自动构建更加容易.在这篇文章中,我们将介绍Docker的一个重要组件:Dock

Docker入门教程(七)Docker API

Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和Docker Hub API. 纵观我们的Docker系列教程,我们已经讨论了很多重要的Docker组件与命令.在本文中,我们将继续深入学习Docker:剖析Docker APIs. Docker提供了很多的API以便用户使用.这些API包含四个方面: Docker Registry API Doc

Docker入门教程(五)Docker安全

Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通过阅读本文快速了解. 我们必须高度重视开源软件的安全问题,当开发者在使用Docker时,从本地构建应用程序到生产环境部署是没有任何差异的(译者注:作者的言外之意是更应该重视Docker的安全问题).当Docker被越来越多的平台使用的时候,我们需要严格保证Docker作为一个项目或者平台的安全性.

【实战】Docker 入门实战一

Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低 从这个解释我们不知道大家有没有想到一个优点类似的东西,没错就是 Vagrant :  vagrant打造跨平台可移动的开发环境   ,那么

.NET Core + docker入门

下载安装docker docker客户端,今天vpn小水管实在是受不了,于是找了国内的下载地址 配置docker加速器 参考博文Docker for windows10 配置阿里云镜像 docker入门 docker入门文档参考 .NET Core + docker 快速上手 详细文档

《第一本Docker》笔记(三)之Docker入门

三.Docker入门(以下运行环境是Cetos6.364bit系统上进行) 1. 创建容器 #docker run -I -t ubuntu /bin/bash -i 标志保证容器中STDIN是开启的,尽管我们并没有附着到容器中,-t 标志告诉Docker为要创建的容器分配一个伪tty终端. 附录:在执行这条指令的时候遇到以下问题: FATA[0000] Gethttp:///var/run/docker.sock/v1.17/images/search?term=ubuntu: dial un