如何将Vagrantfile转换为Dockerfile
我正在尝试使用下面的Vagrantfile来创build一个用于学习目的的Dockerfile。 到目前为止,这是我所提出的:
从Udacity:“关系数据库简介”,这是我的Vagrantfile:
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision "shell", path: "pg_config.sh" # config.vm.box = "hashicorp/precise32" config.vm.box = "ubuntu/trusty32" config.vm.network "forwarded_port", guest: 8000, host: 8000 config.vm.network "forwarded_port", guest: 8080, host: 8080 config.vm.network "forwarded_port", guest: 5000, host: 5000 end
pg_config.sh:
apt-get -qqy update apt-get -qqy install postgresql python-psycopg2 apt-get -qqy install python-flask python-sqlalchemy apt-get -qqy install python-pip pip install bleach pip install oauth2client pip install requests pip install httplib2 pip install redis pip install passlib pip install itsdangerous pip install flask-httpauth su postgres -c 'createuser -dRS vagrant' su vagrant -c 'createdb' su vagrant -c 'createdb forum' su vagrant -c 'psql forum -f /vagrant/forum/forum.sql' vagrantTip="[35m[1mThe shared directory is located at /vagrant\nTo access your shared files: cd /vagrant(B[m" echo -e $vagrantTip > /etc/motd wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make make install
这是我转换为Dockerfile的尝试:
# Set the base image to Ubuntu FROM ubuntu:14.04 # Update the repository sources list RUN apt-get update # Add the packages RUN \ apt-get -qqy install postgresql python-psycopg2 && \ apt-get -qqy install python-flask python-sqlalchemy && \ apt-get -qqy install python-pip && \ pip install bleach && \ pip install oauth2client && \ pip install requests && \ pip install httplib2 && \ pip install redis && \ pip install passlib && \ pip install itsdangerous && \ pip install flask-httpauth && \ su postgres -c 'createuser -dRS vagrant' && \ su vagrant -c 'createdb' && \ su vagrant -c 'createdb forum' && \ su vagrant -c 'psql forum -f /vagrant/forum/forum.sql' && \ vagrantTip="[35m[1mThe shared directory is located at /vagrant\nTo access your shared files: cd /vagrant(B[m" && \ echo -e $vagrantTip > /etc/motd && \ wget http://download.redis.io/redis-stable.tar.gz && \ tar xvzf redis-stable.tar.gz && \ cd redis-stable && \ make && \ make install # Expose the default port EXPOSE 5000
运行后
docker build -t fullstack-vm .
我收到以下错误:
debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype dpkg-preconfigure: unable to re-open stdin:
在Dockerfile中需要纠正哪些内容才能正常运行?
你可以加
ENV DEBIAN_FRONTEND noninteractive
到你的Dockerfile
。
- 无法启动docker服务错误“无法启动docker.service:找不到单位”。
- 在Windows Server 2016上为Docker EE存储图像的位置,以及如何更改其位置?
- Docker DNS设置VPS
- python:PyPi公共模块:如何确定安全和安全?
- 在(php-fpm)docker容器中找不到mysqli
- 使用AWS ECS docker容器,可以将所有三个必需的Zookeeper端口映射到主机? (似乎没有)
- Docker for Windows中的“docker pull redis”失败
- 使用Docker Machine和Swarm并通过Docker守护进程使用Swarm有什么区别?
- 在Windows 7上的Docker-compose:如何在使用yaml文件时导入数据库转储?