搭乘 Vmware 并移动到 Docker,如何正确设置 Docker 文件或 cointainer?

Get ride of Vmware and move to Docker, how to properly setup the Dockerfile or the cointainer?

我是一名 PHP 开发人员,因此大部分时间用于测试我正在处理的任何应用程序是:

每当我从头开始一个新的 VM 时,我都会执行几个步骤 运行:

# Install EPEL and Remi Repos
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm epel-release-latest-6.noarch.rpm

# Install Apache, PHP and its dependencies
yum -y install php php-common php-cli php-fpm php-gd php-intl php-mbstring php-mcrypt php-opcache php-pdo php-pear php-pecl-apcu php-imagick php-pecl-xdebug php-pgsql php-xml php-mysqlnd php-pecl-zip php-process php-soap

# Start Apache on 235 run level
chkconfig --levels 235 httpd on

# Setup MariaDB repos
nano /etc/yum.repos.d/MariaDB.repo

# Write this inside the MariaDB.repo file
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

# Install MariaDB
yum -y install MariaDB MariaDB-server

# Start service
service mysql start

# Start MariaDB on run level 235
chkconfig --levels 235 mysql on

# Setup MariaDB (this is interactive)
/usr/bin/mysql_secure_installation

# A few more steps

这是一项烦人的任务,我需要一直做(当我搞砸了 VM 尝试新事物并在这里和那里进行更改时。所以这里是 Docker,我认为可以保存的地方。读了一些之后,我了解了 Docker 的基础知识,并且我已经通过 运行ning docker run -it centos 提取了一个 CentOS 图像,但这只是一个 bash shell 和基本的 CentOS 图像,所以我的任务是安装和设置所有内容。

以下是我对 Docker 以及如何处理这种重复性和常见任务的疑惑:

我将开始回答您的问题:

  • 是的,您可以从 Dockerfile 开始。但是,我建议您直接在文件中使用命令,以便将来更容易维护。例如可以是 Dockerfile of apache from github.

  • 重复任务,没有。您可以通过 pushing your images to a public registry like docker hub or you could host a private one 保存容器的图像,它可以是 docker 容器本身。

  • Inter activeness 应该通过命令行选项,bash read 或尽可能传递文件等以某种方式解决。我认为没有直接的答案。

  • 更好的想法,通常的模式是将 Dockerfile 托管在 github 或 bitbucket public 存储库中,然后配置 automated builds against docker hub。他们都是免费的:)

您还可以从 docker hub 中获得许多实际工作示例。开始搜索图片,选择最 popular/offical 的一张,那么你一定有指向 Dockerfile.

的链接

告诉我进展如何。