Docker实战笔记 一 Nginx镜像

1.创建一个文件夹映射容器内文件

root@cenots-7.5:/home#mkdir demo
root@cenots-7.5:/home#ll

2.拉取nginx镜像

root@cenots-7.5:/home/demo#docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
1f7ce2fa46ab: Already exists 
9b16c94bb686: Pull complete 
9a59d19f9c5b: Pull complete 
9ea27b074f71: Pull complete 
c6edf33e2524: Pull complete 
84b1ff10387b: Pull complete 
517357831967: Pull complete 
Digest: sha256:10d1f5b58f74683ad34eb29287e07dab1e90f10af243f151bb50aa5dbb4d62ee
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

3.查看镜像

root@cenots-7.5:/home/demo#docker images
REPOSITORY             TAG                IMAGE ID       CREATED         SIZE
nginx                  latest             a6bd71f48f68   9 days ago      187MB
postgres               12                 0d56839ac0df   3 weeks ago     412MB
redis                  latest             7c4b517da47d   2 months ago    153MB
openzipkin/zipkin      latest             7fb470c13693   4 months ago    165MB
postgres               latest             1921dda0e2c5   5 months ago    412MB
redis                  6.2.10-alpine      a470c0525301   9 months ago    27.1MB
sonarqube              8.9.10-community   4009139ebd19   11 months ago   490MB
seataio/seata-server   1.5.2              f6a5368b6720   16 months ago   186MB
nacos/nacos-server     2.0.3              433eb51fef8d   2 years ago     1.05GB
seataio/seata-server   1.4.2              4909c4c024dc   2 years ago     156MB

4.启动nginx容器

root@cenots-7.5:/home/demo#docker run -p 6886:80 --name nginx -d nginx:latest
5bbd677a0cdd067ae4c2c23f6db19e7a02770ccb49e840facf963a8d24317857
root@cenots-7.5:/home/demo#docker ps 
CONTAINER ID   IMAGE                        COMMAND                   CREATED          STATUS          PORTS                                                                                  NAMES
5bbd677a0cdd   nginx:latest                 "/docker-entrypoint.…"   17 seconds ago   Up 15 seconds   0.0.0.0:6886->80/tcp, :::6886->80/tcp                                                  nginx
be0f46c5450a   seataio/seata-server:1.4.2   "java -Djava.securit…"   4 months ago     Up 2 weeks      0.0.0.0:8091->8091/tcp, :::8091->8091/tcp                                              seata-server
e5e9b616802c   nacos/nacos-server:2.0.3     "bin/docker-startup.…"   5 months ago     Up 2 weeks      0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp   nacos203
85c7e7acf404   redis:6.2.10-alpine          "docker-entrypoint.s…"   9 months ago     Up 2 weeks      0.0.0.0:56379->6379/tcp, :::56379->6379/tcp   

5.进入容器内部

root@cenots-7.5:/home/demo#docker exec -it nginx bash
root@5bbd677a0cdd:/# ls
bin   docker-entrypoint.d   home   lib64   mnt   root  srv  usr
boot  docker-entrypoint.sh  lib    libx32  opt   run   sys  var
dev   etc                   lib32  media   proc  sbin  tmp

6.查看容器内部文件位置

root@5bbd677a0cdd:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params

7.拷贝容器内文件到外部路径

root@cenots-7.5:/home/demo#docker cp nginx:/etc/nginx ./
Preparing to copy...
Copying from container - 16.9kB
Successfully copied 16.9kB to /home/demo/./
root@cenots-7.5:/home/demo#ll
总用量 0
drwxr-xr-x 3 root root 132 11月 21 17:05 nginx
root@cenots-7.5:/home/demo#cd nginx
root@cenots-7.5:/home/demo/nginx#ll
总用量 24
drwxr-xr-x 2 root root   26 12月  1 10:29 conf.d
-rw-r--r-- 1 root root 1007 10月 24 21:46 fastcgi_params
-rw-r--r-- 1 root root 5349 10月 24 21:46 mime.types
lrwxrwxrwx 1 root root   22 10月 25 00:10 modules -> /usr/lib/nginx/modules
-rw-r--r-- 1 root root  648 10月 25 00:10 nginx.conf
-rw-r--r-- 1 root root  636 10月 24 21:46 scgi_params
-rw-r--r-- 1 root root  664 10月 24 21:46 uwsgi_params

8.查看nginx的html和logs路径位置

root@cenots-7.5:/home/demo/nginx#docker exec -it nginx bash
root@5bbd677a0cdd:/# cd usr
root@5bbd677a0cdd:/usr# ls
bin  games  include  lib  lib32  lib64  libexec  libx32  local  sbin  share  src
root@5bbd677a0cdd:/usr# cd share
root@5bbd677a0cdd:/usr/share# ls
X11              common-licenses  dpkg        java         man         pam-configs  util-linux
base-files       debconf          fontconfig  keyrings     maven-repo  perl5        xml
base-passwd      debianutils      fonts       libc-bin     menu        pixmaps      zoneinfo
bash-completion  dict             gcc         libgcrypt20  misc        polkit-1     zsh
bug              doc              gdb         lintian      nginx       tabset
ca-certificates  doc-base         info        locale       pam         terminfo
root@5bbd677a0cdd:/usr/share# cd nginx
root@5bbd677a0cdd:/usr/share/nginx# ls
htmlroot@5bbd677a0cdd:/usr/share# cd nginx
root@5bbd677a0cdd:/usr/share/nginx# ls
html
root@5bbd677a0cdd:/usr/share/nginx# cd /var/log
root@5bbd677a0cdd:/var/log# cd nginx
root@5bbd677a0cdd:/var/log/nginx# ls
access.log  error.logroot@cenots-7.5:/home/demo#mkdir logs
root@cenots-7.5:/home/demo#mkdir html
root@cenots-7.5:/home/demo#ll
总用量 0
drwxr-xr-x 3 root root 132 11月 21 17:05 conf
drwxr-xr-x 2 root root   6 12月  1 10:50 html
drwxr-xr-x 2 root root   6 12月  1 10:49 logs

9.删除现有nginx容器,准备启动正式容器

root@cenots-7.5:/home/demo#docker ps 
CONTAINER ID   IMAGE                        COMMAND                   CREATED          STATUS          PORTS                                                                                  NAMES
5bbd677a0cdd   nginx:latest                 "/docker-entrypoint.…"   22 minutes ago   Up 22 minutes   0.0.0.0:6886->80/tcp, :::6886->80/tcp                                                  nginx
be0f46c5450a   seataio/seata-server:1.4.2   "java -Djava.securit…"   4 months ago     Up 2 weeks      0.0.0.0:8091->8091/tcp, :::8091->8091/tcp                                              seata-server
e5e9b616802c   nacos/nacos-server:2.0.3     "bin/docker-startup.…"   5 months ago     Up 2 weeks      0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp   nacos203
85c7e7acf404   redis:6.2.10-alpine          "docker-entrypoint.s…"   9 months ago     Up 2 weeks      0.0.0.0:56379->6379/tcp, :::56379->6379/tcp                                            redis6.2
root@cenots-7.5:/home/demo#docker stop nginx
nginxroot@cenots-7.5:/home/demo#docker remove nginx
nginx
root@cenots-7.5:/home/demo#docker ps 
CONTAINER ID   IMAGE                        COMMAND                   CREATED        STATUS       PORTS                                                                                  NAMES
be0f46c5450a   seataio/seata-server:1.4.2   "java -Djava.securit…"   4 months ago   Up 2 weeks   0.0.0.0:8091->8091/tcp, :::8091->8091/tcp                                              seata-server
e5e9b616802c   nacos/nacos-server:2.0.3     "bin/docker-startup.…"   5 months ago   Up 2 weeks   0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp   nacos203
85c7e7acf404   redis:6.2.10-alpine          "docker-entrypoint.s…"   9 months ago   Up 2 weeks   0.0.0.0:56379->6379/tcp, :::56379->6379/tcp   

10.启动正式nginx容器,挂载相关html,logs,conf目录

root@cenots-7.5:/home/demo#docker run -p 6886:80 --name nginx -v /home/demo/conf:/etc/nginx -v /home/demo/html:/usr/share/nginx/html -v /home/demo/logs:/var/log/nginx -d nginx:latest
93f19b37815179019f436d6a60073fb56314297a4b60752b84a96f780436199d
root@cenots-7.5:/home/demo#docker ps
CONTAINER ID   IMAGE                        COMMAND                   CREATED          STATUS          PORTS                                                                                  NAMES
93f19b378151   nginx:latest                 "/docker-entrypoint.…"   25 seconds ago   Up 25 seconds   0.0.0.0:6886->80/tcp, :::6886->80/tcp                                                  nginx
be0f46c5450a   seataio/seata-server:1.4.2   "java -Djava.securit…"   4 months ago     Up 2 weeks      0.0.0.0:8091->8091/tcp, :::8091->8091/tcp                                              seata-server
e5e9b616802c   nacos/nacos-server:2.0.3     "bin/docker-startup.…"   5 months ago     Up 2 weeks      0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp   nacos203
85c7e7acf404   redis:6.2.10-alpine          "docker-entrypoint.s…"   9 months ago     Up 2 weeks      0.0.0.0:56379->6379/tcp, :::56379->6379/tcp         

11.查看浏览器访问服务http://ip:6886,会报错,因为html文件夹里面没有index.html

root@cenots-7.5:/home/demo#cd logs
root@cenots-7.5:/home/demo/logs#ll
总用量 4
-rw-r--r-- 1 root root   0 12月  1 10:54 access.log
-rw-r--r-- 1 root root 855 12月  1 10:54 error.log
root@cenots-7.5:/home/demo/logs#tailf access.log 
10.60.1.117 - - [01/Dec/2023:02:56:11 +0000] "GET / HTTP/1.1" 403 153 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "-"
10.60.1.117 - - [01/Dec/2023:02:56:12 +0000] "GET / HTTP/1.1" 403 153 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "-"
^C
root@cenots-7.5:/home/demo/logs#ll
总用量 8
-rw-r--r-- 1 root root  322 12月  1 10:56 access.log
-rw-r--r-- 1 root root 1233 12月  1 10:56 error.log

12.查看错误日志

root@cenots-7.5:/home/demo/logs#tailf error.log 
2023/12/01 02:54:50 [notice] 1#1: start worker process 22
2023/12/01 02:54:50 [notice] 1#1: start worker process 23
2023/12/01 02:54:50 [notice] 1#1: start worker process 24
2023/12/01 02:54:50 [notice] 1#1: start worker process 25
2023/12/01 02:54:50 [notice] 1#1: start worker process 26
2023/12/01 02:54:50 [notice] 1#1: start worker process 27
2023/12/01 02:54:50 [notice] 1#1: start worker process 28
2023/12/01 02:54:50 [notice] 1#1: start worker process 29
2023/12/01 02:56:11 [error] 22#22: *1 directory index of "/usr/share/nginx/html/" is forbidden, client: 10.60.1.117, server: localhost, request: "GET / HTTP/1.1", host: "10.6.132.166:6886"
2023/12/01 02:56:12 [error] 22#22: *1 directory index of "/usr/share/nginx/html/" is forbidden, client: 10.60.1.117, server: localhost, request: "GET / HTTP/1.1", host: "10.6.132.166:6886"
2023/12/01 02:56:56 [error] 22#22: *1 directory index of "/usr/share/nginx/html/" is forbidden, client: 10.60.1.117, server: localhost, request: "GET / HTTP/1.1", host: "10.6.132.166:6886"
2023/12/01 02:56:57 [error] 22#22: *1 directory index of "/usr/share/nginx/html/" is forbidden, client: 10.60.1.117, server: localhost, request: "GET / HTTP/1.1", host: "10.6.132.166:6886"
^C
root@cenots-7.5:/home/demo/logs#cd ../
root@cenots-7.5:/home/demo#ll
总用量 0
drwxr-xr-x 3 root root 132 11月 21 17:05 conf
drwxr-xr-x 2 root root   6 12月  1 10:50 html
drwxr-xr-x 2 root root  41 12月  1 10:54 logs
root@cenots-7.5:/home/demo#cd html
root@cenots-7.5:/home/demo/html#ll
总用量 0

13.创建一个index.html

root@cenots-7.5:/home/demo/html#vi index.html<html>
<div>hello docker nginx!!!</div>
</html>

14.刷新网页 即可

15.设置开机启动

root@cenots-7.5:/home/demo/html#systemctl enable dockerroot@cenots-7.5:/home/demo/html#docker update --restart=always nginx

--restart具体参数值详细信息:

no: 默认策略,容器退出时不重启容器;

on-failure: 在容器非正常退出时(退出状态非0)才重新启动容器;

on-failure:3  在容器非正常退出时重启容器,最多重启3次;

always: 无论退出状态是如何,都重启容器;

unless-stopped: 在容器退出时总是重启容器,
但是不考虑在 Docker 守护进程启动时就已经停止了的容器。

Docker实战笔记 二 Springboot Idea 插件打包-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt内存管理、UI编辑器、客制化组件、弹出对话框、常用部件类

头文件的小技巧 #include <QtWidgets> // 在自动生成的 .h 里面加上此句 适用条件&#xff1a; QT 的内存管理 当父窗体被关闭时&#xff0c;子部件的内存会自动释放。 对象树是一种管理对象生命周期的机制。当一个对象被添加到另一个对象的子对象列表中时&#xff0…

LeetCode刷题笔记之链表

一、移除链表元素 1. 203【移除链表元素】 题目&#xff1a; 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。代码&#xff1a; /*** Definition for singly-linked list.* public cla…

docker:部署java Springboot项目

文章目录 1、打 jar 包1、创建Dockerfile3、创建镜像4、启动容器其他注意事项docker中jdk的版本命名举例&#xff1a;openjdk:11-ea-17-jre-slim举例&#xff1a;8u312-jre-nanoserver-1809 通过find找文件 1、打 jar 包 将项目打一个 jar 包&#xff0c;可以使用 IDEA 1、…

2.6 A 的 LU 分解

一、A LU 线性代数很多关键的概念实际上就是矩阵的分解&#xff08;factorization&#xff09;。原始矩阵 A A A 变成两个或三个特殊矩阵的乘积。第一个分解&#xff0c;实际上也是最重要的分解&#xff0c;来自消元法。因子 L L L 和 U U U 都是三角形矩阵&#xff0c;分…

前端实习面试常考(定位、文档流)

前端实习面试常考&#xff08;定位、文档流&#xff09; 最近在找前端的实习&#xff0c;看了很多面试题&#xff0c;再这里做一个总结分享给大家&#xff0c;希望对大家的实习面试起到一些帮助&#xff08;本人刚入门不久&#xff0c;如果大家对我的内容有异议&#xff0c;欢…

NgRx中dynamic reducer的原理和用法?

在 Angular 应用中&#xff0c;使用 NgRx 状态管理库时&#xff0c;动态 reducer 的概念通常是指在运行时动态添加或移除 reducer。这样的需求可能源于一些特殊的场景&#xff0c;比如按需加载模块时&#xff0c;你可能需要添加相应的 reducer。 以下是动态 reducer 的一般原理…

多级路由component页面不加载

项目基于vue-element-admin 新建SubView.vue <template><router-view /> </template><script setup> </script>在父层添加component {path: /sj,component: Layout,redirect: /sj,name: 三级医院评审标准(2022),meta: {title: 三级医院评审标准(…

发布“最强”AI大模型,股价大涨,吊打GPT4的谷歌股票值得投资吗?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 谷歌在AI领域的最新进展&#xff0c;引发投资者关注 在谷歌-C(GOOGL)谷歌-A&#xff08;GOOG&#xff09;昨日发布了最新的AI大模型Gemini后&#xff0c;其股价就出现了大幅上涨&#xff0c;更是引发了投资者的密切关注&a…

Docker-compose容器编排与容器监控

一、Docker-compose 1、概念&#xff1a; Docker-Compose 是 Docker 官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。 2、作用&#xff1a; Docker-Compose可以管理多个Docker容器组成一个应用。需要定义一个yaml格式的配置文件 docker-compose.yml&#…

CSS逻辑组合伪类

CSS 的逻辑组合伪类有 4 种&#xff0c;分别是&#xff1a;:not()、:is()、:where()和:has()。 否定伪类:not() 否定伪类&#xff0c;是在元素与括号里面的参数不匹配的时候&#xff0c;就会对这个伪类进行匹配。比如&#xff1a;:not(span):{color:red}&#xff0c;这就会匹…

SEO优化是什么,如何进行SEO优化

SEO&#xff08;Search Engine Optimization&#xff09;是指通过对网站进行优化&#xff0c;提高其在搜索引擎中的排名&#xff0c;从而增加有机流量和改善用户体验的一系列技术和方法。 进行SEO优化可以帮助网站获得更多的有机搜索流量&#xff0c;并提升网站的曝光度和可见…

Fiddler抓包模拟器(雷电模拟器)

Fiddler设置 List item 打开fiddler,的options 点击OK,重启fiddler 模拟器 更改网络设置 IP可以在电脑上终端上查看 然后在模拟器浏览器中输入IP:端口 安装证书

ssl什么是公钥和私钥?

公钥&#xff08;Public Key&#xff09;与私钥&#xff08;Private Key&#xff09;是通过加密算法得到的一个密钥对&#xff08;即一个公钥和一个私钥&#xff0c;也就是非对称加密方式&#xff09;。公钥可对会话进行加密、验证数字签名&#xff0c;只有使用对应的私钥才能解…

K8s 入门指南(一):单节点集群环境搭建

前言 官方文档&#xff1a;Kubernetes 文档 | Kubernetes 系统配置 CentOS 7.9&#xff08;2 核 2 G&#xff09; 本文为 k8s 入门指南专栏&#xff0c;将会使用 kubeadm 搭建单节点 k8s 集群&#xff0c;详细讲解环境搭建部署的细节&#xff0c;专栏后面章节会以实战代码介绍…

P1001 A+B Problem题解

对于编程语言语法的学习最好的办法就是在题目中学习&#xff0c;现在来开启我们的学习之旅。 题目 输入两个整数a,b&#xff0c;输出它们的和&#xff08;∣a∣,∣b∣≤109&#xff09;。 输入输出样例 输入 20 30 输出 50 代码 #include<iostream> using names…

点击登录按钮二次才跳转到首页

1.问题描述 点击登录按钮&#xff0c;调取接口,成功后获取数据并跳转到首页&#xff0c;都没有问题&#xff0c;也没有报错&#xff0c;就是点击第一次不跳转&#xff0c;第二次才能跳转&#xff0c;这是代码 this.$message({message: "登陆成功",type: "succ…

Vue3+ts----根据配置项,动态生成表单

这里使用的UI框架是ElementPlus&#xff0c;更换其他组件直接更换constant.ts中的type配置和对应的Form组件即可. 大家可以npm install elementplus_dy_form来体验。 思路&#xff1a; 1.这里需要使用h函数方便控制要渲染的表单 2.传递type作为组件或html元素进行渲染&#xff…

PHP基础 - 输入输出

在 PHP 中,有多种方法可以用来输出内容。下面是其中的几种: 1、echo: 这是最常见的输出语句之一,可以输出一个或多个字符串。它是一个语言结构,可以省略括号。使用示例如下: <?php // 使用 echo 语句输出一个字符串 echo "Hello, world!\n";// 可以使用…

虚拟仪器的外部接口设计

虚拟仪器的外部接口设计需要考虑多个因素。以下是一些可能涉及的方面&#xff1a; 接口类型&#xff1a;根据实际需要&#xff0c;选择不同类型的接口。例如&#xff0c;计算机内部插卡式接口有isa接口和pci接口&#xff0c;适用于中小型测试系统。计算机外部通用总线接口有增…

P1035 [NOIP2002 普及组] 级数求和题解

题目 已知&#xff1a;.显然对于任意一个整数 k&#xff0c;当 n 足够大的时候,Sn​>k。 现给出一个整数k&#xff0c;要求计算出一个最小的n&#xff0c;使得Sn​>k。 输入输出样例 输入 1 输出 2 代码 #include<iostream> using namespace std; int mai…