<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker基本命令

      Docker基本命令

      Docker常用命令

      啟動 Docker

      systemctl start docker

      在服務(wù)器關(guān)機(jī)或者重啟后,是需要重新啟動 Docker 的。 命令如下:

      systemctl start docker
      

      查看日志

      docker logs

      語法

       docker logs [參數(shù)] 容器
      

      參數(shù)

      • f:日志流動輸出。
      • t:展示時間戳。
      • -tail:從日志末尾顯示的行數(shù)。

      為模擬日志輸出效果,我們先編寫一段腳本

      while true;do echo sail;sleep 3;done
      

      以上腳本實現(xiàn)的效果為:每隔 3 秒輸出字符串 sail。

      以腳本啟動容器

      [root@sail ~]# docker logs -f -t --tail 10 c3d59f55d600
      2021-12-10T03:01:28.607288480Z sail
      2021-12-10T03:01:31.609334595Z sail
      2021-12-10T03:01:34.611361943Z sail
      2021-12-10T03:01:37.613461457Z sail
      2021-12-10T03:02:10.636760025Z sail
      

      可以看到,按此命令會看到容器最后 10 條日志,且每隔 3 秒滾動輸出一條日志。

      后臺啟動

      docker run -d

      語法

      docker run -d 鏡像
      

      后臺啟動鏡像

      [root@sail ~]# docker run -d centos
      0aee6f74b913f120195ca323892867bba7d72f2671f2f8b17278a3e029ad5bfd
      [root@sail ~]# docker ps
      CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS        PORTS     NAMES
      

      使用 docker run -d 啟動,也并不能保證容器一定能在后臺運(yùn)行,如果沒有前臺使用,容器啟動后發(fā)現(xiàn)自己沒有提供服務(wù),會立刻停止。

      前面的 docker run -d centos /bin/sh -c "while true;do echo sail;sleep 3;done" 命令,由于啟動后運(yùn)行了腳本打印日志,即提供了服務(wù),所以不會停止。

      查看容器信息

      docker inspect

      語法

      docker inspect 容器
      

      示例

      [root@sail ~]# docker ps
      CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS     NAMES
      c3d59f55d600   centos    "/bin/sh -c 'while t…"   24 minutes ago   Up 5 seconds             musing_poincare
      
      [root@sail ~]# docker inspect c3d59f55d600
      [.....]
      

      不管容器是否運(yùn)行,都可以使用該命令查看。

      進(jìn)入正在運(yùn)行的容器

      容器是一個微型的 Linux 系統(tǒng),我們通常需要進(jìn)入容器進(jìn)行操作。

      docker exec

      使用 docker exec 可以進(jìn)入容器并開啟一個新的終端,可以在里面操作。

      語法

      docker exec [參數(shù)] 容器 路徑
      

      參數(shù)

      • d:后臺運(yùn)行。
      • it:交互模式進(jìn)入。
      [root@sail ~]# docker ps
      CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS        PORTS     NAMES
      96ed3fe3e7f1   centos    "/bin/bash"   15 hours ago   Up 15 hours             centos01
      
      [root@sail ~]# docker exec -it 96ed3fe3e7f1 /bin/bash
      [root@96ed3fe3e7f1 /]# ls
      bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
      
      [root@96ed3fe3e7f1 /]# ps -ef
      UID        PID  PPID  C STIME TTY          TIME CMD
      root         1     0  0 Dec09 pts/0    00:00:00 /bin/bash
      root        15     0  0 03:38 pts/1    00:00:00 /bin/bash
      root        30    15  0 03:39 pts/1    00:00:00 ps -ef
      

      這種進(jìn)入方式是單獨(dú)開了一個新進(jìn)程的方式。

      docker attach

      使用 docker attach 會進(jìn)入容器正在執(zhí)行的終端,不會啟動新的進(jìn)程。

      語法 docker attach 容器

      [root@sail ~]# docker ps
      CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS        PORTS     NAMES
      96ed3fe3e7f1   centos    "/bin/bash"   17 hours ago   Up 17 hours             centos01
      
      [root@sail ~]# docker attach 96ed3fe3e7f1
      [root@96ed3fe3e7f1 /]# ps -ef
      UID        PID  PPID  C STIME TTY          TIME CMD
      root         1     0  0 Dec09 pts/0    00:00:00 /bin/bash
      root        33     1  0 05:49 pts/0    00:00:00 ps -ef
      

      這種進(jìn)入方式?jīng)]有開啟新的進(jìn)程(/bin/bash 是 centos 容器的默認(rèn)終端)。

      從容器內(nèi)拷貝文件到主機(jī)

      查看啟動的容器

      [root@sail ~]# docker ps
      CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS        PORTS     NAMES
      96ed3fe3e7f1   centos    "/bin/bash"   17 hours ago   Up 17 hours             centos01
      

      進(jìn)入容器,創(chuàng)建一個文件

      [root@sail ~]# docker attach 96ed3fe3e7f1
      [root@96ed3fe3e7f1 /]# cd /home
      [root@96ed3fe3e7f1 home]# touch test.java
      [root@96ed3fe3e7f1 home]# ls
      test.java
      [root@96ed3fe3e7f1 home]# exit
      exit
      

      退出容器后,不管容器是否啟動,都可以復(fù)制容器中的文件到主機(jī)上

      [root@sail ~]# cd /home
      [root@sail home]# docker cp 96ed3fe3e7f1:/home/test.java /home
      [root@sail home]# ls
      admin  f2  f3  sail  test.java
      

      這種方式是一個手動過程,很不方便,推薦使用數(shù)據(jù)卷技術(shù),可以實現(xiàn)自動同步主機(jī)和容器的目錄。

      詳情見:Docker 12 數(shù)據(jù)卷

      查看Docker內(nèi)存占用

      docker stats

      語法

      docker stats [參數(shù)] [容器...]
      

      參數(shù)

      • a:查看所有容器的內(nèi)存占用(默認(rèn)只展示運(yùn)行的容器)。
      [root@sail home]# docker stats
      CONTAINER ID   NAME       CPU %     MEM USAGE / LIMIT   MEM %     NET I/O   BLOCK I/O   PIDS
      96ed3fe3e7f1   centos01   0.00%     524KiB / 1.694GiB   0.03%     0B / 0B   0B / 0B     1
      
      [root@sail home]# docker stats -a
      CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT   MEM %     NET I/O   BLOCK I/O   PIDS
      0aee6f74b913   brave_rosalind    0.00%     0B / 0B             0.00%     0B / 0B   0B / 0B     0
      c3d59f55d600   musing_poincare   0.00%     0B / 0B             0.00%     0B / 0B   0B / 0B     0
      569026bc0955   centos03          0.00%     0B / 0B             0.00%     0B / 0B   0B / 0B     0
      71a97b830ec5   centos02          0.00%     0B / 0B             0.00%     0B / 0B   0B / 0B     0
      96ed3fe3e7f1   centos01          0.00%     524KiB / 1.694GiB   0.03%     0B / 0B   0B / 0B     1
      

      Docker部署

      部署Nginx

      下載鏡像

      [root@sail home]# docker pull nginx
      Using default tag: latest
      latest: Pulling from library/nginx
      e5ae68f74026: Pull complete 
      21e0df283cd6: Pull complete 
      ed835de16acd: Pull complete 
      881ff011f1c9: Pull complete 
      77700c52c969: Pull complete 
      44be98c0fab6: Pull complete 
      Digest: sha256:9522864dd661dcadfd9958f9e0de192a1fdda2c162a35668ab6ac42b465f0603
      Status: Downloaded newer image for nginx:latest
      docker.io/library/nginx:latest
      

      查看鏡像

      [root@sail home]# docker images
      REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
      nginx        latest    f652ca386ed1   7 days ago     141MB
      

      運(yùn)行鏡像

      [root@sail home]# docker run -d --name=nginx01 -p 3344:80 nginx
      f58fb3ed8c5587d2c28567c865759438e449f2fd65889f2910286b9cd74debec
      [root@sail home]# docker ps
      CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
      f58fb3ed8c55   nginx     "/docker-entrypoint.…"   23 seconds ago   Up 22 seconds   0.0.0.0:3344->80/tcp   nginx01
      

      測試驗證

      使用 curl 命令可以模擬網(wǎng)頁訪問,以此來測試 Nginx 啟動情況。

      [root@sail home]# curl localhost:3344
      <!DOCTYPE html>
      <html>
      <head>
      <title>Welcome to nginx!</title>
      <style>
      html { color-scheme: light dark; }
      body { width: 35em; margin: 0 auto;
      font-family: Tahoma, Verdana, Arial, sans-serif; }
      </style>
      </head>
      <body>
      <h1>Welcome to nginx!</h1>
      <p>If you see this page, the nginx web server is successfully installed and
      working. Further configuration is required.</p>
      <p>For online documentation and support please refer to
      <a >nginx.org</a>.<br/>
      Commercial support is available at
      <a >nginx.com</a>.</p>
      <p><em>Thank you for using nginx.</em></p>
      </body>
      </html>
      

      外網(wǎng)訪問測試

      如果是使用阿里云服務(wù)器,需要先開啟端口。

      al

      使用阿里云的公網(wǎng) IP 即可進(jìn)行訪問。

      Untitled

      出現(xiàn)此頁面,即代表 Nginx 部署成功。

      查看啟動的容器

      [root@sail home]# docker ps
      CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
      f58fb3ed8c55   nginx     "/docker-entrypoint.…"   12 minutes ago   Up 12 minutes   0.0.0.0:3344->80/tcp   nginx01
      

      查看容器中 Nginx 目錄

      [root@sail home]# docker exec -it nginx01 /bin/bash
      root@f58fb3ed8c55:/# whereis nginx
      nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
      root@f58fb3ed8c55:/# cd /etc/nginx
      root@f58fb3ed8c55:/etc/nginx# ls
      conf.d    fastcgi_params    mime.types  modules  nginx.conf  scgi_params  uwsgi_params
      

      如此,如果需要修改 Nginx 的配置即可修改 nginx.conf 文件實現(xiàn)。

      不過如果每次修改都要進(jìn)入容器后再進(jìn)行操作,是很繁瑣的事,還是更推薦使用容器卷技術(shù)

      部署原理

      Untitled

      部署Tomcat

      啟動Tomcat

      [root@sail bin]# docker run -d -p 8080:8080 --name=tomcat01 tomcat
      Unable to find image 'tomcat:latest' locally
      latest: Pulling from library/tomcat
      5e0b432e8ba9: Pull complete 
      a84cfd68b5ce: Pull complete 
      e8b8f2315954: Pull complete 
      0598fa43a7e7: Pull complete 
      e0d35e3be804: Pull complete 
      8fc448a0c88b: Pull complete 
      dbdff6e5955b: Pull complete 
      5daf3771e3d8: Pull complete 
      e4265b3badfc: Pull complete 
      126f233cb97a: Pull complete 
      Digest: sha256:429d5c140820d5eba38042823501d5f4e0f03b282133513e29c22d6358daa7c7
      Status: Downloaded newer image for tomcat:latest
      fe247e0ef80de961df2f73216b3c604d97094b9a35064f9bef421243e610e487
      
      [root@sail bin]# docker ps
      CONTAINER ID   IMAGE     COMMAND             CREATED              STATUS              PORTS                    NAMES
      fe247e0ef80d   tomcat    "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp   tomcat01
      

      這里選擇直接啟動的方式,若本地沒有該鏡像,則先從官方庫拉取。

      進(jìn)入容器

      [root@sail sail]# docker exec -it tomcat01 /bin/bash
      root@fe247e0ef80d:/usr/local/tomcat# ls
      BUILDING.txt  CONTRIBUTING.md  LICENSE    NOTICE    README.md  RELEASE-NOTES  RUNNING.txt  bin  conf  lib  logs  native-jni-lib  temp  webapps  webapps.dist  work
      
      root@fe247e0ef80d:/usr/local/tomcat# cd webapps
      root@fe247e0ef80d:/usr/local/tomcat/webapps# ls
      root@fe247e0ef80d:/usr/local/tomcat/webapps#
      

      這里發(fā)現(xiàn)一個問題,Tomcat 下的 webapps 沒有文件,所以 Tomcat 的初始頁面是不能顯示的。

      這也是 Docker 的精髓,只保留最核心的東西,剔除所有不必要的內(nèi)容。

      這也并非不可解決,webapps 的默認(rèn)內(nèi)容是存放在 webapps.dist 中的

      root@fe247e0ef80d:/usr/local/tomcat# cd webapps.dist
      root@fe247e0ef80d:/usr/local/tomcat/webapps.dist# ls
      ROOT  docs  examples  host-manager  manager
      

      將 webapps.dist 中的內(nèi)容復(fù)制到 webapps 下

      root@fe247e0ef80d:/usr/local/tomcat# cp -r webapps.dist/* webapps
      root@fe247e0ef80d:/usr/local/tomcat# cd webapps
      root@fe247e0ef80d:/usr/local/tomcat/webapps# ls
      ROOT  docs  examples  host-manager  manager
      

      外網(wǎng)訪問測試

      Untitled

      命令測試

      root@fe247e0ef80d:/usr/local/tomcat/webapps# ll
      bash: ll: command not found
      

      這里又發(fā)現(xiàn)一個問題,ll 這種相對基礎(chǔ)的命令也是沒有的,如此也可以看出 Docker 極致的精簡。


      posted @ 2024-03-27 21:04  做夢的努力者  閱讀(297)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品国产人妻一区二区三区久久| 九九久久精品国产免费看小说 | 国产成人av乱码在线观看| 色综合夜夜嗨亚洲一二区| 波多野结衣一区二区三区高清av| 日韩有码中文字幕一区二区| 国产99青青成人A在线| 麻豆国产高清精品国在线| 亚洲欧美偷国产日韩| 欧美综合婷婷欧美综合五月 | 国产精品免费视频不卡| 亚洲a∨国产av综合av| 无码熟妇人妻av在线电影| 国产性三级高清在线观看| 熟女精品色一区二区三区| 精品婷婷色一区二区三区| 伊人久久大香线蕉AV网| 午夜天堂一区人妻| 国产18禁一区二区三区| 高清自拍亚洲精品二区| 亚洲AV美女在线播放啊| 日本夜爽爽一区二区三区| 国产女人在线视频| 欧美乱大交aaaa片if| 欧美牲交videossexeso欧美 | 欧美成人h精品网站| 少妇人妻无码专区视频| 九九热精品视频在线免费| 日韩在线视频线观看一区| 精品国产一区AV天美传媒| 自拍偷自拍亚洲精品播放 | 精品一区二区三区在线观看l| 久久久久99精品成人片牛牛影视| 亚洲av中文久久精品国内| 欧美人妻在线一区二区| 日本久久99成人网站| 国产精品一区二区三区自拍| 国产一区二区日韩在线| 日韩精品 在线 国产 丝袜| 法库县| 中文有无人妻vs无码人妻激烈|