Docker Light-weight virtualization - for class 2

3224 ワード

Docker class 2 : run the docker image and introduce the docker volume and web server
(1) we will introduce how to use docker to run in backdround !
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 f0eyou can use this command to see the logs.
docker logs f0e

(2)you can use this command to give container name which you run
docker run -it -d --name test1 chusiang/takojs1607

--name means the container name
(3) the data haven't seen when you closed the docker if you close directlyyou 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 !
cd/mkdir/mydatacd mydata/echo "hello world"> hello.txtdocker run -it -v/mydata:/data chusiang/takojs1607/bin/bash-v means volume/mydata is local host/data is docker folder
(4)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
(5) 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
(6)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 !
(7)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 installedFor 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 port80 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!