关灯
开启左侧

[Linux主机] Docker Light-weight virtualization - for class 2

[复制链接]
Elinkcloud 发表于 2022-4-8 10:05:35 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
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 !
<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(2)
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
(3)
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 !
cd /
mkdir /mydata
cd mydata/
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
(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  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.htmlecho "hi" >hi.htmStart 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!
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

0粉丝

91帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )