IT评测·应用市场-qidao123.com

标题: 8.30-使用docker容器摆设考试项目+使用Dockerfile摆设java项目 [打印本页]

作者: 九天猎人    时间: 2024-9-4 05:48
标题: 8.30-使用docker容器摆设考试项目+使用Dockerfile摆设java项目
摆设考试系统

一、在容器中摆设nginx

1.编写docker脚本

  1. [root@docker001 ~]# vim docker.sh
  2. cat << EOF | tee /etc/modules-load.d/k8s.conf
  3. overlay
  4. br_netfilter
  5. EOF
  6. modprobe overlay
  7. modprobe br_netfilter
  8. cat << EOF | tee /etc/sysctl.d/k8s.conf
  9. net.bridge.bridge-nf-call-iptables = 1
  10. net.bridge.bridge-nf-call-ip6tables = 1
  11. net.ipv4.ip_forward = 1
  12. EOF
  13. sysctl --system
  14. yum install -y yum-utils device-mapper-persistent-data lvm2
  15. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  16. yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  17. # 运行docker脚本
  18. [root@docker001 ~]# source docker.sh
复制代码
2.修改docker配置文件daemon.json

  1. [root@docker001 ~]# vim /etc/docker/daemon.json
  2. {
  3.     "registry-mirrors": [
  4.         "https://do.nark.eu.org",
  5.         "https://dc.j8.work",
  6.         "https://docker.m.daocloud.io",
  7.         "https://dockerproxy.com",
  8.         "https://docker.mirrors.ustc.edu.cn",
  9.         "https://docker.nju.edu.cn"
  10.     ]
  11. }
复制代码
3.修改docker.service文件

  1. [root@docker001 ~]# vim /usr/lib/systemd/system/docker.service
  2. 13        ExecStart=/usr/bin/dockerd
  3. [root@docker001 ~]# systemctl daemon-reload
复制代码
4.重启docker服务

  1. [root@docker001 ~]# systemctl restart docker
复制代码
5.拉取nginx镜像

  1. [root@docker001 ~]# docker pull nginx
复制代码
6.查看镜像

  1. [root@docker001 ~]# docker images
  2. REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
  3. nginx        latest    5ef79149e0ec   2 weeks ago   188MB
复制代码
7.创建容器

  1. # 创建容器
  2. [root@docker001 ~]# docker run -itd -p80:80 nginx:latest
  3. db8ffd17378657990222bb65accff54631c41e9251c844f1f95c8b66d44a0c7a
  4. # 查看创建的容器
  5. [root@docker001 ~]# docker ps
  6. CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                               NAMES
  7. db8ffd173786   nginx:latest   "/docker-entrypoint.…"   26 seconds ago   Up 25 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   upbeat_stonebraker
  8. # 访问测试
  9. [root@docker001 ~]# curl localhost
  10. <!DOCTYPE html>
  11. <html>
  12. <head>
  13. <title>Welcome to nginx!</title>
  14. <style>
  15. html { color-scheme: light dark; }
  16. body { width: 35em; margin: 0 auto;
  17. font-family: Tahoma, Verdana, Arial, sans-serif; }
  18. </style>
  19. </head>
  20. <body>
  21. <h1>Welcome to nginx!</h1>
  22. <p>If you see this page, the nginx web server is successfully installed and
  23. working. Further configuration is required.</p>
  24. <p>For online documentation and support please refer to
  25. <a href="http://nginx.org/">nginx.org</a>.<br/>
  26. Commercial support is available at
  27. <a href="http://nginx.com/">nginx.com</a>.</p>
  28. <p><em>Thank you for using nginx.</em></p>
  29. </body>
  30. </html>
  31. # 使用exec命令查看容器nginx中的/usr/share/nginx/html目录
  32. [root@docker001 ~]# docker exec -it db8 ls /usr/share/nginx/html
  33. 50x.html  index.html
复制代码
8.在容器启动之后,nginx服务就发布了


二、摆设考试系统的前端

创建一个目次,不但独放置前端的资料,将后端的所有资料也都放在这里
1.创建目次

  1. [root@docker001 ~]# mkdir project_exam_system
  2. [root@docker001 ~]# cd project_exam_system/
  3. [root@docker001 project_exam_system]# mkdir web
  4. [root@docker001 project_exam_system]# cd web/
  5. [root@docker001 web]# rz -E
  6. rz waiting to receive.
复制代码
2.将dist文件放到web目次下

  1. # 解压dist.zip包
  2. [root@docker001 web]# unzip dist.zip
  3. # 查看解压后的文件
  4. [root@docker001 web]# ls
  5. dist  dist.zip
  6. # 删除dist.zip包
  7. [root@docker001 web]# rm -rf dist.zip
  8. # 只需要留下解压后的dist文件
  9. [root@docker001 web]# ls
  10. dist
复制代码
3.查看web目次下dist文件中的内容

  1. [root@docker001 web]# cd ..
  2. [root@docker001 project_exam_system]# ls web/dist/
  3. assets  favicon.ico  index.html
复制代码
4.删除测试nginx页面所创建容器

  1. # 停止db8容器的运行
  2. [root@docker001 project_exam_system]# docker stop db8
  3. db8
  4. # 删除容器
  5. [root@docker001 project_exam_system]# docker rm db8
  6. db8
复制代码
5.创建容器 ,映射端口为80,挂载/usr/share/nginx/html目次

  1. [root@docker001 web]# docker run -itd -p80:80 -v /root/project_exam_system/web/dist/:/usr/share/nginx/html nginx:latest
  2. 11568e4a88646ea4b1cb9243678fe220ae263ea70591441f093dd72a7f4660a8
复制代码
6.查看创建的容器

  1. [root@docker001 web]# docker ps
  2. CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                                       NAMES
  3. 11568e4a8864   nginx:latest   "/docker-entrypoint.…"   29 seconds ago   Up 28 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp           vibrant_gates
复制代码
7.修改hosts文件

在物理机的C:\Windows\System32\drivers\etc中找到hosts文件,添加IP地点和域名

8.测试前端页面

浏览器访问:192.168.2.60

三、摆设考试系统的后端

1.拉取centos镜像

  1. [root@docker001 ~]# docker pull centos
复制代码
2.将软件包拖到root下

  1. #将软件包jdk-17_linux-x64_bin.tar.gz 和软件包project_exam_system.zip拖到root下
  2. [root@docker001 ~]# ls
  3. anaconda-ks.cfg  docker.sh  jdk-17_linux-x64_bin.tar.gz  project_exam_system.zip
复制代码
3.解压软件包project_exam_system.zip

  1. # 解压project_exam_system.zip软件包
  2. [root@docker001 ~]# unzip project_exam_system.zip
  3. Archive:  project_exam_system.zip
  4. # 查看解压包后的文件
  5. [root@docker001 ~]# ls
  6. anaconda-ks.cfg         docker.sh                    Project_ExamSystem-V1.0.0.war
  7. application.properties  jdk-17_linux-x64_bin.tar.gz  project_exam_system.zip
  8. dist                    project_exam_system.sql
复制代码
4.使用centos镜像创建容器

  1. # 使用centos镜像创建容器
  2. [root@docker001 ~]# docker run -itd centos:latest /bin/bash
  3. d107d28c1503012c6f9aa43d09c94d64f439c60de61d2c3c2d4d565690fdca0f
  4. # 查看创建的容器
  5. [root@docker001 ~]# docker ps
  6. CONTAINER ID   IMAGE           COMMAND                   CREATED          STATUS          PORTS                               NAMES
  7. d107d28c1503   centos:latest   "/bin/bash"               12 seconds ago   Up 11 seconds                                       quirky_chandrasekhar
  8. 11568e4a8864   nginx:latest    "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    0.0.0.0:80->80/tcp, :::80->80/tcp   vibrant_gates
复制代码
5.将宿主机root目次下的微服务项目文件复制到用centos镜像创建的容器中

  1. # 将宿主机的jdk包复制到容器中
  2. [root@docker001 ~]# docker cp jdk-17_linux-x64_bin.tar.gz d107:/
  3. Successfully copied 183MB to d107:/
  4. # 将宿主机的Project包复制到容器中
  5. [root@docker001 ~]# docker cp Project_ExamSystem-V1.0.0.war d107:/
  6. Successfully copied 41MB to d107:/
  7. # 将宿主机的application文件复制到容器中
  8. [root@docker001 ~]# docker cp application.properties d107:/
  9. Successfully copied 4.1kB to d107:/
复制代码
6.挂载容器的终端

  1. [root@docker001 ~]# docker attach d107
复制代码
7.查看有没有将软件包和文件复制到容器中

  1. [root@d107d28c1503 /]# ls
  2. Project_ExamSystem-V1.0.0.war  home                            media  run         usr
  3. application.properties               jdk-17_linux-x64_bin.tar.gz  mnt    sbin  var
  4. bin                               lib                            opt    srv
  5. dev                               lib64                            proc   sys
  6. etc                               lost+found                    root   tmp
复制代码
8.在容器中创建目次,解压包

  1. # 在容器中创建目录
  2. [root@d107d28c1503 /]# mkdir /usr/local/jdk
  3. # 解压软件包到指定目录,并且跳过第一层目录
  4. [root@d107d28c1503 /]# tar -zxf jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk/ --strip-components=1
  5. [root@d107d28c1503 /]# ls /usr/local/jdk/
  6. LICENSE  README  bin  conf  include  jmods  legal  lib        man  release
复制代码
9.在容器中修改application.properties文件

  1. [root@d107d28c1503 /]# vi application.properties
  2. spring.datasource.url=jdbc:mysql://192.168.2.60:3306/project_exam_system
复制代码
10.在容器中运行Project_ExamSystem-V1.0.0.war并访问验证

  1. [root@d107d28c1503 /]# /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war
  2.   .   ____          _            __ _ _
  3. /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
  4. ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
  5. \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  6.   '  |____| .__|_| |_|_| |_\__, | / / / /
  7. =========|_|==============|___/=/_/_/_/
  8. :: Spring Boot ::                (v3.3.2)
  9. 2024-08-30 05:03:07.508  INFO 21 --- [           main] com.dn.es.ProjectExamSystemApplication             : Starting ProjectExamSystemApplication vV1.0.0 using Java 17.0.12 with PID 21 (/Project_ExamSystem-V1.0.0.war started by root in /)
  10. 2024-08-30 05:03:07.511  INFO 21 --- [           main] com.dn.es.ProjectExamSystemApplication             : No active profile set, falling back to 1 default profile: "default"
  11. 2024-08-30 05:03:09.435  INFO 21 --- [           main] o.s.d.r.config.RepositoryConfigurationDelegate     : Multiple Spring Data modules found, entering strict repository configuration mode
  12. 2024-08-30 05:03:09.440  INFO 21 --- [           main] o.s.d.r.config.RepositoryConfigurationDelegate     : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
  13. 2024-08-30 05:03:09.497  INFO 21 --- [           main] o.s.d.r.config.RepositoryConfigurationDelegate     : Finished Spring Data repository scanning in 31 ms. Found 0 Redis repository interfaces.
  14. 2024-08-30 05:03:11.178  INFO 21 --- [           main] o.s.boot.web.embedded.tomcat.TomcatWebServer       : Tomcat initialized with port 8080 (http)
  15. 2024-08-30 05:03:11.211  INFO 21 --- [           main] org.apache.coyote.http11.Http11NioProtocol         : Initializing ProtocolHandler ["http-nio-8080"]
  16. 2024-08-30 05:03:11.213  INFO 21 --- [           main] org.apache.catalina.core.StandardService           : Starting service [Tomcat]
  17. 2024-08-30 05:03:11.213  INFO 21 --- [           main] org.apache.catalina.core.StandardEngine            : Starting Servlet engine: [Apache Tomcat/10.1.26]
  18. 2024-08-30 05:03:11.623  INFO 21 --- [           main] o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]  : Initializing Spring embedded WebApplicationContext
  19. 2024-08-30 05:03:11.624  INFO 21 --- [           main] o.s.b.w.s.c.ServletWebServerApplicationContext     : Root WebApplicationContext: initialization completed in 3998 ms
  20. 2024-08-30 05:03:14.976  INFO 21 --- [           main] org.apache.coyote.http11.Http11NioProtocol         : Starting ProtocolHandler ["http-nio-8080"]
  21. 2024-08-30 05:03:15.732  INFO 21 --- [           main] o.s.boot.web.embedded.tomcat.TomcatWebServer       : Tomcat started on port 8080 (http) with context path '/'
  22. 2024-08-30 05:03:15.815  INFO 21 --- [           main] com.dn.es.ProjectExamSystemApplication             : Started ProjectExamSystemApplication in 9.652 seconds (process running for 10.863)
  23. read escape sequence
  24. [root@docker001 ~]# curl 173.17.0.3:8080
  25. {"code":20002,"msg":"账号不存在或密码错误"}[root@docker001 ~]#
复制代码
11.使用容器创建java镜像

  1. [root@docker001 ~]# docker commit d107 java:v0
  2. sha256:64b4ea040bff2b7d3476273d62a5ae235fabe90e495ea81c6ac4efc6e33f2fd3
  3. # 查看创建的java镜像
  4. [root@docker001 ~]# docker images
  5. REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
  6. java         v0        64b4ea040bff   10 seconds ago   774MB
  7. <none>       <none>    22eb536c0d76   54 minutes ago   774MB
  8. nginx        latest    5ef79149e0ec   2 weeks ago      188MB
  9. centos       latest    5d0da3dc9764   2 years ago      231MB
复制代码
12.查看容器

  1. [root@docker001 ~]# docker ps
  2. CONTAINER ID   IMAGE           COMMAND                   CREATED          STATUS          PORTS                               NAMES
  3. d107d28c1503   centos:latest   "/bin/bash"               14 minutes ago   Up 14 minutes                                       quirky_chandrasekhar
  4. 11568e4a8864   nginx:latest    "/docker-entrypoint.…"   17 minutes ago   Up 17 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   vibrant_gates
复制代码
13.删除使用centos镜像创建的容器

因为已经用这个容器导出java镜像了
  1. # 停止容器
  2. [root@docker001 ~]# docker stop d107
  3. d107
  4. # 删除容器
  5. [root@docker001 ~]# docker rm d107
  6. d107
复制代码
14.使用java镜像创建容器

  1. [root@docker001 ~]# docker run -itd -p8080:8080 java:v0
  2. 464d9b2b5f0b4a0cb80ac134128130393f67f7d0bf37c84763cdbf5a29015c1f
复制代码
15.查看用java镜像创建的容器

  1. [root@docker001 ~]# docker ps
  2. CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                                       NAMES
  3. 464d9b2b5f0b   java:v0        "/bin/bash"               9 seconds ago    Up 8 seconds    0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   epic_pascal
  4. 11568e4a8864   nginx:latest   "/docker-entrypoint.…"   19 minutes ago   Up 19 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           vibrant_gates
复制代码
16.在创建的容器中运行

  1. # 挂载创建的容器的终端
  2. [root@docker001 ~]# docker attach 464d
  3. # 运行
  4. [root@464d9b2b5f0b /]# /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war
复制代码
17.访问测试:

浏览器访问:192.168.2.60,出现200和500就是对的

四、数据库长期化-5.7.44

1.拉取mysql镜像

  1. [root@docker001 ~]# docker pull mysql:5.7.44
复制代码
2.使用mysql镜像创建容器

  1. # 使用mysql镜像创建端口号为3306,用户和密码为root的容器
  2. [root@docker001 ~]# docker run -itd -e MYSQL_ROOT_PASSWORD=root -p3306:3306 mysql:5.7.44
  3. 1a07feb046ee3038c2364c5b655ff4cfd31acf28db5e747810fc42b05195338d
  4. # 查看创建的容器
  5. [root@docker001 ~]# docker ps
  6. CONTAINER ID   IMAGE          COMMAND                   CREATED              STATUS              PORTS                                                  NAMES
  7. 1a07feb046ee   mysql:5.7.44   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   optimistic_herschel
  8. 464d9b2b5f0b   java:v0        "/bin/bash"               2 hours ago          Up About an hour    0.0.0.0:8080->8080/tcp, :::8080->8080/tcp              epic_pascal
  9. 11568e4a8864   nginx:latest   "/docker-entrypoint.…"   3 hours ago          Up About an hour    0.0.0.0:80->80/tcp, :::80->80/tcp                      vibrant_gates
复制代码
3.在project_exam_system/目次下创建mysql目次

  1. [root@docker001 ~]# mkdir mysql
  2. [root@docker001 ~]# mv mysql project_exam_system/
  3. [root@docker001 ~]# ls project_exam_system/
  4. mysql  web
复制代码
4.远程登录mysql运行project_exam_system.sql文件


5.使用exec下令登录mysql

  1. [root@docker001 ~]# docker exec -it 1a mysql -uroot -proot
  2. mysql: [Warning] Using a password on the command line interface can be insecure.
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.
  4. Your MySQL connection id is 5
  5. Server version: 5.7.44 MySQL Community Server (GPL)
  6. Copyright (c) 2000, 2023, Oracle and/or its affiliates.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. # 查看数据库
  12. mysql> show databases;
  13. +---------------------+
  14. | Database            |
  15. +---------------------+
  16. | information_schema  |
  17. | mysql               |
  18. | performance_schema  |
  19. | project_exam_system |
  20. | sys                 |
  21. +---------------------+
  22. 5 rows in set (0.00 sec)
  23. # 创建和java项目中的用户
  24. mysql> create user 'zhangmin'@'%' identified by 'zhangmin';
  25. Query OK, 0 rows affected (0.00 sec)
  26. # 给创建的用户所有的权限
  27. mysql> grant all on *.* to 'zhangmin'@'%';
  28. Query OK, 0 rows affected (0.00 sec)
  29. # 刷新权限
  30. mysql> flush privileges;
  31. Query OK, 0 rows affected (0.00 sec)
  32. mysql>
复制代码
6.在远程工具中查看用户和密码


7.举行用户登录



8.进入考试系统


五、实现镜像的主动创建

1.查看root下的文件

  1. [root@docker001 ~]# ls
  2. anaconda-ks.cfg         jdk-17_linux-x64_bin.tar.gz  Project_ExamSystem-V1.0.0.war
  3. application.properties  project_exam_system          project_exam_system.zip
  4. docker.sh               project_exam_system.sql.0
复制代码
2.创建project_exam_system/java目次

  1. [root@docker001 ~]# mkdir project_exam_system/java
复制代码
3.将文件拷贝到project_exam_system/java/目次下

  1. # 将root目录下application.properties文件拷贝到project_exam_system/java/目录下
  2. [root@docker001 ~]# cp application.properties project_exam_system/java/
  3. # 将root目录下jdk包拷贝到project_exam_system/java/目录下
  4. [root@docker001 ~]# cp jdk-17_linux-x64_bin.tar.gz project_exam_system/java/
  5. # 将root目录下Project_ExamSystem-V1.0.0.war包拷贝到project_exam_system/java/目录下
  6. [root@docker001 ~]# cp Project_ExamSystem-V1.0.0.war project_exam_system/java/
复制代码
4.解压jdk软件包

  1. [root@docker001 java]# tar -zxvf jdk-17_linux-x64_bin.tar.gz
复制代码
5.查看解压后的文件

  1. [root@docker001 java]# ls
  2. application.properties  jdk-17.0.12                  Project_ExamSystem-V1.0.0.war
  3. Dockerfile              jdk-17_linux-x64_bin.tar.gz
复制代码
6.给解压后的jdk-17.0.12文件改名为jdk

  1. [root@docker001 java]# mv jdk-17.0.12/ jdk
复制代码
7.查看改名后的文件

  1. [root@docker001 java]# ls
  2. application.properties  jdk                          Project_ExamSystem-V1.0.0.war
  3. Dockerfile              jdk-17_linux-x64_bin.tar.gz
复制代码
8.编写start.sh文件

  1. [root@docker001 java]# vim start.sh
  2. # !/bin/bash
  3. /usr/local/jdk/bin/java -jar /Project_ExamSystem-V1.0.0.war
复制代码
9.编辑Dockerfile文件

  1. [root@docker001 java]# vim  Dockerfile
  2. FROM centos:latest
  3. ADD application.properties /application.properties
  4. ADD jdk/ /usr/local/jdk/
  5. ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0.war
  6. ADD start.sh /start.sh
  7. RUN chmod -v +x start.sh
  8. WORKDIR /
  9. EXPOSE 8080
  10. CMD [ "/start.sh","/bin/bash" ]
复制代码
10.创建一个名为java:v1镜像

  1. [root@docker001 java]# docker build -t java:v1 .
  2. [+] Building 0.4s (11/11) FINISHED                                     docker:default
  3. => [internal] load build definition from Dockerfile                             0.0s
  4. => => transferring dockerfile: 369B                                             0.0s
  5. => [internal] load metadata for docker.io/library/centos:latest                 0.0s
  6. => [internal] load .dockerignore                                                0.0s
  7. => => transferring context: 2B                                                  0.0s
  8. => [1/7] FROM docker.io/library/centos:latest                                   0.0s
  9. => [internal] load build context                                                0.0s
  10. => => transferring context: 54.75kB                                             0.0s
  11. => CACHED [2/7] ADD application.properties /application.properties              0.0s
  12. => CACHED [3/7] ADD jdk/ /usr/local/jdk/                                        0.0s
  13. => CACHED [4/7] ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0.w  0.0s
  14. => [5/7] ADD start.sh /start.sh                                                 0.0s
  15. => [6/7] RUN chmod -v +x start.sh                                               0.2s
  16. => exporting to image                                                           0.1s
  17. => => exporting layers                                                          0.1s
  18. => => writing image sha256:1afee7532f08bf1bb19320165a076f4293abee9094e4c164317  0.0s
  19. => => naming to docker.io/library/java:v1                                       0.0s
复制代码
11.使用java:v1创建一个容器,映射端口为8081

  1. [root@docker001 java]# docker run -itd -p8081:8080 java:v1
  2. 1aa141a489fbe18838c0d56c316446faa807eeb7da152a64203eb73e1ab15f1e
复制代码
12.查看创建的容器

  1. [root@docker001 java]# docker ps
  2. CONTAINER ID   IMAGE          COMMAND                   CREATED             STATUS             PORTS                                                  NAMES
  3. 1aa141a489fb   java:v1        "/start.sh /bin/bash"     5 seconds ago       Up 5 seconds       0.0.0.0:8081->8080/tcp, :::8081->8080/tcp              jolly_buck
  4. 1a07feb046ee   mysql:5.7.44   "docker-entrypoint.s…"   About an hour ago   Up About an hour   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   optimistic_herschel
  5. 464d9b2b5f0b   java:v0        "/bin/bash"               3 hours ago         Up 2 hours         0.0.0.0:8080->8080/tcp, :::8080->8080/tcp              epic_pascal
  6. 11568e4a8864   nginx:latest   "/docker-entrypoint.…"   4 hours ago         Up 2 hours         0.0.0.0:80->80/tcp, :::80->80/tcp                      vibrant_gates
复制代码
13.查看容器是否开启服务

  1. # 使用exec命令查看容器内开启的端口
  2. [root@docker001 java]# docker exec 1aa141 ss -tuln|grep 8080
  3. tcp   LISTEN 0      128                *:8080            *:*   
复制代码
14.访问测试

  1. [root@docker001 java]# curl localhost:8081
  2. {"code":20002,"msg":"账号不存在或密码错误"}
复制代码
15.在宿主机上检查有没有开启服务

  1. [root@docker001 java]# netstat -lnput|grep 8081
  2. tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      20459/docker-proxy  
  3. tcp6       0      0 :::8081                 :::*                    LISTEN      20463/docker-proxy  
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4