Docker容器的使用方法簡單示例

一、拉取鏡像

1.檢測鏡像是否存在

[root@node1 ~]# docker search nginx
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        15187     [OK]       
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2048                 [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   816                  [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   218                  
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   149                  
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   136                  [OK]
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        123                  [OK]
alfg/nginx-rtmp                   NGINX, nginx-rtmp-module and FFmpeg from sou…   102                  [OK]
jasonrivers/nginx-rtmp            Docker images to host RTMP streams using NGI…   92                   [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page co…   70                   [OK]
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   56                   [OK]
nginx/nginx-ingress               NGINX and  NGINX Plus Ingress Controllers fo…   55                   
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  45                   
staticfloat/nginx-certbot         Opinionated setup for automatic TLS certs lo…   24                   [OK]
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter for NGINX and NGIN…   19                   
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   19                   [OK]
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   15                   
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   13                   
raulr/nginx-wordpress             Nginx front-end for the official wordpress:f…   13                   [OK]
bitwarden/nginx                   The Bitwarden nginx web server acting as a r…   11                   
flashspys/nginx-static            Super Lightweight Nginx Image                   10                   [OK]
mailu/nginx                       Mailu nginx frontend                            9                    [OK]
sophos/nginx-vts-exporter         Simple server that scrapes Nginx vts stats a…   7                    [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          2                    [OK]
wodby/nginx                       Generic nginx                                   1

2.拉取下載鏡像

[root@node1 ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
b4d181a07f80: Pull complete 
66b1c490df3f: Pull complete 
d0f91ae9b44c: Pull complete 
baf987068537: Pull complete 
6bbc76cbebeb: Pull complete 
32b766478bc2: Pull complete 
Digest: sha256:353c20f74d9b6aee359f30e8e4f69c3d7eaea2f610681c4a95849a2fd7c497f9
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

3.查看本地鏡像

[root@node1 ~]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    4cdc5dd7eaad   2 weeks ago   133MB

二、運行鏡像

1.安裝相關包

[root@node1 ~]# yum install -y libseccomp-devel 
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository AppStream is listed more than once in the configuration
Repository AppStream is listed more than once in the configuration
Repository BaseOS is listed more than once in the configuration
Repository AppStream is listed more than once in the configuration
Repository BaseOS is listed more than once in the configuration
Docker CE Nightly - Sources                                                                                    798  B/s | 2.3 kB     00:02    
ansiable                                                                                                       0.0  B/s |   0  B     00:00    
Failed to synchronize cache for repo 'docker-ce-nightly-source', ignoring this repo.
Failed to synchronize cache for repo 'ansiable', ignoring this repo.
Last metadata expiration check: 2:32:21 ago on Wed 21 Jul 2021 07:51:23 PM CST.
Dependencies resolved.
===============================================================================================================================================
 Package                                Arch                         Version                             Repository                       Size
===============================================================================================================================================
Installing:
 libseccomp-devel                       x86_64                       2.5.1-1.el8                         AppStream                        57 k
Upgrading:
 libseccomp                             x86_64                       2.5.1-1.el8                         base                             71 k

Transaction Summary
===============================================================================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 128 k
Downloading Packages:
(1/2): libseccomp-2.5.1-1.el8.x86_64.rpm                                                                       256 kB/s |  71 kB     00:00    
(2/2): libseccomp-devel-2.5.1-1.el8.x86_64.rpm                                                                 186 kB/s |  57 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                          414 kB/s | 128 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                       1/1 
  Upgrading        : libseccomp-2.5.1-1.el8.x86_64                                                                                         1/3 
  Running scriptlet: libseccomp-2.5.1-1.el8.x86_64                                                                                         1/3 
  Installing       : libseccomp-devel-2.5.1-1.el8.x86_64                                                                                   2/3 
  Cleanup          : libseccomp-2.3.3-3.el8.x86_64                                                                                         3/3 
  Running scriptlet: libseccomp-2.3.3-3.el8.x86_64                                                                                         3/3 
  Verifying        : libseccomp-devel-2.5.1-1.el8.x86_64                                                                                   1/3 
  Verifying        : libseccomp-2.5.1-1.el8.x86_64                                                                                         2/3 
  Verifying        : libseccomp-2.3.3-3.el8.x86_64                                                                                         3/3 
Installed products updated.

Upgraded:
  libseccomp-2.5.1-1.el8.x86_64                                         

Installed:
  libseccomp-devel-2.5.1-1.el8.x86_64                                                                                                         
Complete!

2.生成容器

備註:- d 後臺運行容器
-p 80:80 端口映射 宿主機端口:容器內端口 
[root@node1 ~]# docker run -d -p 80:80 nginx
2716e3ec14173a31d8c2168ceceefbbfecec0efe6d611bc710df0bc53748ef0c

3.查看容器運行狀態

[root@node1 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
2716e3ec1417   nginx     "/docker-entrypoint.…"   26 seconds ago   Up 24 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   naughty_driscoll

三、測試容器內的應用

在這裡插入圖片描述

四、檢查宿主機端口

[root@node1 ~]# netstat -tunlp |grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3807/docker-proxy   
tcp6       0      0 :::80                   :::*                    LISTEN      3814/docker-proxy   
tcp6       0      0 :::8081                 :::*                    LISTEN      1092/httpd 

五、停止容器

[root@node1 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
2716e3ec1417   nginx     "/docker-entrypoint.…"   6 minutes ago   Up 6 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   naughty_driscoll
[root@node1 ~]# docker stop 2716e3ec1417 
2716e3ec1417
[root@node1 ~]# docker start 2716e3ec1417 
2716e3ec1417

到此這篇關於Docker容器的使用方法簡單示例的文章就介紹到這瞭,更多相關Docker容器使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: