dokcer3
安裝好的文件位置:/usr/sbin/nginx:主程序/etc/nginx:存放配置文件/usr/share/nginx:存放靜態文件/var/log/nginx:存放日志其實從上面的根目錄文件夾可以知道,Linux系統的配置文件一般放在/etc,日志一般放在/var/log,運行的程序一般放在/usr/sbin或者/usr/bin。Nginx部署流程: root@ubuntu:/home/yw1989# docker run -p 80 --name nginx_web1 -i -t ubuntu /bin/bash
root@417a0dbc5500:/# : 進入容器中(先apt-get update不然安裝不了nginx)
root@417a0dbc5500:/# apt-get install -y nginx : 安裝nginx
root@417a0dbc5500:/# apt-get install -y vim : 安裝vim
root@3b1e8b137e4e:/# mkdir -p /var/www/html
root@3b1e8b137e4e:/# cd /var/www/html
root@3b1e8b137e4e:/var/www/html# vim index.html : 編輯靜態頁面
修改nginx配置文件:
root@417a0dbc5500:/# whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx
root@3b1e8b137e4e:/usr/share/nginx# cd /etc/nginx
root@3b1e8b137e4e:/etc/nginx# ls
root@417a0dbc5500:/etc/nginx# ls
conf.d koi-utf nginx.conf sites-available uwsgi_params
fastcgi.conf koi-win proxy_params sites-enabled win-utf
fastcgi_params mime.types scgi_params snippets
root@3b1e8b137e4e:/etc/nginx# cd sites-enabled/
root@3b1e8b137e4e:/etc/nginx/sites-enabled# ls
default
root@3b1e8b137e4e:/etc/nginx/sites-enabled# vim default
修改root的值為usr/www/html
切換到根目錄:運行nginx,
root@417a0dbc5500:/# ps -ef : 容器里面查看當前進程,nginx已經運行起來了。
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11:56 pts/0 00:00:00 /bin/bash
root 894 1 0 12:55 ? 00:00:00 nginx: master process nginx
www-data 895 894 0 12:55 ? 00:00:00 nginx: worker process
root 897 1 0 12:56 pts/0 00:00:00 ps -ef使用ctrl+P ctrl+Q來退出。是容器在后臺運行。
$docker ps 查看:
417a0dbc5500 ubuntu "/bin/bash" About an hour ago Up About an hour 0.0.0.0:32768->80/tcp nginx_web1
將容器的80端口映射到主機的32768端口上。
root@ubuntu:/home/yw1989# docker port nginx_web1 :查看容器中端口映射情況
80/tcp -> 0.0.0.0:32768
root@ubuntu:/home/yw1989# docker top nginx_web1 : 查看容器中進程的情況
UID PID PPID C STIME TTY TIME CMD
root 3578 3566 0 03:56 pts/0 00:00:00 /bin/bash
Root 7505 3578 0 04:55 ? 00:00:00 nginx: master process nginx
www-data 7506 7505 0 04:55 ? 00:00:00 nginx: worker process
root@ubuntu:/home/yw1989# curl http://127.0.0.1:32768 :網站成功返回了剛才寫的頁面,虛擬機中使用http://127.0.0.1:32768/,http://172.17.0.2:80/可以訪問,172.17.0.2是容器IP。在自己電腦http://192.168.115.129:32768/也可以訪問(192.168.115.129是虛擬機的地址)。
<html>
<head><title>fdfdsfdsfdsf</title>
</head><body><h1>
hhijhihii
</h1>
</body></html>
root@ubuntu:/home/yw1989# docker inspect nginx_web1 : 查看容器的ip地址"NetworkSettings": {
"IPAddress": "172.17.0.2",$docker stop nginx_web : 停止容器nginx_web1
root@ubuntu:/home/yw1989# docker start -i nginx_web1
root@417a0dbc5500:/# ps -ef : 關閉后停止并沒有啟動nginx,退出
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 13:22 pts/0 00:00:00 /bin/bash
root 9 1 0 13:22 pts/0 00:00:00 ps -ef
root@ubuntu:/home/yw1989# docker exec nginx_web1 nginx : 啟動nginx
root@ubuntu:/home/yw1989# docker top nginx_web1 : 查看到nginx再次啟動了
UID PID PPID C STIME TTY TIME CMD
root 10527 10508 0 05:22 pts/0 00:00:00 /bin/bash
root 10718 10508 0 05:24 ? 00:00:00 nginx: master process nginx
www-data 10719 10718 0 05:24 ? 00:00:00 nginx: worker processroot@ubuntu:/home/yw1989# curl http://127.0.0.1:32768 : 訪問失敗
curl: (7) Failed to connect to 127.0.0.1 port 32768: Connection refused
root@ubuntu:/home/yw1989# docker inspect nginx_web1 : ip地址和端口都變了"NetworkSettings": {"IPAddress": "172.17.0.2","Ports": {"80/tcp": [
{"HostIp": "0.0.0.0","HostPort": "32769"}]},
停止一個容器并重新啟動,ip地址和端口改變。 查看和刪除鏡像:
鏡像是一種使用聯合加載技術層疊的只讀文件系統,是容器構建的基石。存儲在/var/lib/docker, root@ubuntu:/# docker info
Docker Root Dir: /var/lib/docker
Containers: 4Running: 3Paused: 0Stopped: 1
Images: 1
Server Version: 18.01.0-ce
Kernel Version: 4.10.0-28-generic
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 971.6MiB
Name: ubuntu root@ubuntu:/# docker images : 列出所有的鏡像
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 0458a4468cbc 6 days ago 112MB
REPOSITORY:鏡像所屬的倉庫名
TAG :鏡像的標簽名
IMAGE ID :鏡像的唯一id,就是鏡像的文件名
CREATED :鏡像建立的時間
SIZE :鏡像的大小REPOSITORY倉庫是一系列鏡像的集合,一個倉庫包含的是一系列關聯的鏡像,比如ubuntu就是一個大的倉庫,這與docker組件中的倉庫(registry)很大區別,組件的倉庫提供的是docker鏡像的存儲服務,REPOSITORY倉庫包含了很多registry倉庫。Tag鏡像的標簽:在倉庫中不同的鏡像是以tag區分的,REPOSITORY倉庫名加上標簽名就構成了一個完整了鏡像名字,這個鏡像的名字就對應一個鏡像的id。不同的標簽可以對應相同的id名,就是說可以對不同的需求對鏡像文件打上不同的標簽。
root@ubuntu:/# docker images --no-trunc : 查看完整的id(上面是截斷的id)
REPOSITOR TAG IMAGE ID CREATED SIZE
ubuntu latest sha256:0458a4468cbceea0c304de953305b059803f67693bad463dcbe7cce2c91ba670 6 days ago 112MB
沒有名字和標簽的鏡像就是中間層鏡像。 yw1989@ubuntu:~$ docker search ubuntu : 查找ubuntu倉庫
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 7183 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 159 yw1989@ubuntu:~$ docker search --filter=stars=100 ubuntu :查找星級大于100的
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 7183 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 159 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 130
轉載于:https://www.cnblogs.com/yaowen/p/8405346.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 大数据学习——虚拟机准备(改主机名)
- 下一篇: Python题整理