mkdir vagrant-test & cd vagrant-test
vagrant init hashicorp/precise64
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.network "forwarded_port", guest: 80, host: 8088
config.vm.provider "virtualbox" do |v|
v.name = "vagrant-test"
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y nginx
/etc/init.d/nginx start
SHELL
end
Crate a Nginx VM base on vagrant-test
vagrant package --output vagrant-test.box
vagrant box add vagrant-test vagrant-test.box
cd ..
mkdir vagrant-nginx-1 & cd vagrant-nginx-1
vagrant init vagrant-test
Vagrant.configure("2") do |config|
config.vm.box = "vagrant-test"
config.vm.network "forwarded_port", guest: 80, host: 9088
config.vm.provider "virtualbox" do |v|
v.name = "vagrant-nginx"
end
config.vm.provision "shell", inline: <<-SHELL
echo "Happy New Year!!!" > /usr/share/nginx/www/index.html
SHELL
end
vagrant box remove vagrant-test
docker images
curl -s \
--unix-socket /var/run/docker.sock \
http://localhost/images/json \
| jq
docker run --rm --name=nginx -p 8088:80 nginx
Create a Customize Nginx images
docker exec nginx bash -c ' echo "Happy New Year!" > /usr/share/nginx/html/index.html'
docker commit nginx my-nginx
docker run --rm --name=my-nginx -p 9088:80 my-nginx
Run a Nginx Container with volume
mkdir docker-test && cd docker-test
echo " Happy New Year!" > index.html
docker run --rm --name=nginx-v \
-p 10088:80 \
-v $( pwd) /index.html:/usr/share/nginx/html/index.html \
nginx
Create a Customize Nginx images with Dockerfile
FROM nginx
RUN echo "Happy New Year!" > /usr/share/nginx/html/index.html
docker build -t my-nginx2 .
docker run --rm --name=my-nginx2 -p 20088:80 my-nginx2