Docker class 2 : run the docker image and introduce the docker volume and web server
we will introduce how to use docker to run in backdround !
<br/>docker run -it -d chusiang/takojs1607 /bin/bash -c "while true; do echo 'hi'; sleep 1; done"
-d means daemon , run in the background! you can use docker ps -a see the docker process which run in the background !
-c means "while true; do echo 'hi'; sleep 1; done" is string
for example , the container ID is f0e
you can use this command to see the logs.
docker logs f0e
you can use this command to give container name which you run
<br/>docker run -it -d --name test1 chusiang/takojs1607<br/>
--name means the container name
the data haven't seen when you closed the docker if you close directly
you can use docker voulme to save the data in docker!
on the basis of the first class , we create the environment to show that !
First , you need to change the user for root !
echo "hello world" > hello.txt
docker run -it -v /mydata:/data chusiang/takojs1607 /bin/bash
-v means volume
/mydata is local host
/data is docker folder
if you want to open a new terminal in docker containers which is the same container ID , you can use this command
docker exec -it CONTAINER ID bash
if you want to remove docker containers automatic after finished the docker container , you can add --rm when you start the docker container!
docker run -it --name test1 --rm chusiang/takojs1607 /bin/bash
if you want to switch terminal to host, you can tap the control +P +Q in your keyboard. if you want to use docker container , just attach it !
docker is the Light-weight virtualization , Many packages are not installed in it ! For example : ifconfig ,ping etc.
if your docker is ubuntu , you can use apt-get update , and apt-get install net-tools.
But !! Most important is it will disappear if you restart the docker .
so , you can create a new docker images with the package installed
For example , the container ID is ccea9d4e9655
docker commit cce ubuntu:mv1
then , you can start the docker new images with ifconfig tools!
if you want to remove the docker images , you can use this command
docker image rm IMAGE ID
How to use Web server in docker !?
we want to create the web page in the host virtual machine and map to the docker for starting the web server
For the first , we need to pull the docker images with httpd from docker hub
docker pull httpd
and the document root is /usr/local/apache2/htdocs/
Now, we will create the webpage.
cd /mydata/ echo "this is a index webpage" > index.html echo "hi" >hi.htm
Start the docker container with apache
docker run -itd --name mywebserver -p 8080:80 -v /mydata:/usr/local/apache/htdocs/ httpd
-p means port
8080 is local port
80 is docker port
you can use curl 127.0.0.1:8080 for test !!!
For important, you can edit the webpage in local !
After edited , the docker web server will update！