docker安装与运行web程序

2023-05-16

docker安装与运行web程序

  • 1.自动下载最新版docker命令
  • 2.自动安装完成后执行
  • 3.展示server命令
  • 4.再确认
  • 5.验证docker是否安装成功
  • 6.设置开机自启
  • 7.查看启动状态
  • 8.ps -ef|grep docker
  • 9.关闭防火墙或打开某个端口
  • 10.设置网关ipv4
  • 11.编辑docker设置
  • 12.输入命令安装镜像
  • 13.重启docker
  • 14.启动命令
  • 15.验证是否成功
  • 16.网站验证
  • 注意事项

各位朋友,以下是我自学docker部署jar包程序的安装部署步骤。仅供参考
本次是安装在了VMware Workstation Pro虚拟机中,Centos7.5(内核版本3.10.0-957.el7.x86_64),需要提前写好能够验证的java程序

1.自动下载最新版docker命令

curl -s https://get.docker.com | sh

以下为展示安装日志

[root@bogon local]# curl -s https://get.docker.com | sh
Executing docker install script, commit: 3d8fe77c2c46c5b7571f94b42793905e5b3e4                                                                                                                              2e4
+ sh -c 'yum install -y -q yum-utils'
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告:/var/cache/yum/x86_64/7/base/packages/libxml2-python-2.9.1-6.el7.5.x86_64.                                                                                                                              rpm:V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
libxml2-python-2.9.1-6.el7.5.x86_64.rpm 的公钥尚未安装
导入 GPG key 0xF4A80EB5:
 用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org                                                                                                                              >"
 指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 软件包     : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
+ sh -c 'yum-config-manager --add-repo https://download.docker.com/linux/centos/                                                                                                                              docker-ce.repo'
已加载插件:fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yu                                                                                                                              m.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                                     | 3.6 kB     00:00
docker-ce-stable                                         | 3.5 kB     00:00
extras                                                   | 2.9 kB     00:00
updates                                                  | 2.9 kB     00:00
(1/10): docker-ce-stable/7/x86_64/updateinfo               |   55 B   00:00
(2/10): docker-ce-stable/7/x86_64/primary_db               |  55 kB   00:00
(3/10): docker-ce-stable/7/x86_64/other_db                 | 117 kB   00:00
(4/10): docker-ce-stable/7/x86_64/filelists_db             |  24 kB   00:02
(5/10): extras/7/x86_64/other_db                           | 134 kB   00:00
(6/10): updates/7/x86_64/other_db                          | 454 kB   00:01
(7/10): extras/7/x86_64/filelists_db                       | 224 kB   00:03
(8/10): base/7/x86_64/other_db                             | 2.6 MB   00:07
(9/10): updates/7/x86_64/filelists_db                      | 3.4 MB   00:16
(10/10): base/7/x86_64/filelists_db                        | 7.2 MB   00:19
元数据缓存已建立
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-20.10.3-3.e                                                                                                                              l7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-20.10.3-3.el7.x86_64.rpm 的公钥尚未安装
导入 GPG key 0x621E9F35:
 用户ID     : "Docker Release (CE rpm) <docker@docker.com>"
 指纹       : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
 来自       : https://download.docker.com/linux/centos/gpg
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemo                                                                                                                              n-attack-surface
         for more information.

2.自动安装完成后执行

docker version

以下为展示日志

Client: Docker Engine - Community
 Version:           20.10.3
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        48d30b5
 Built:             Fri Jan 29 14:34:14 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke                                                                                                                        r daemon running?

3.展示server命令

service docker start

以下为展示日志

Redirecting to /bin/systemctl start docker.service

4.再确认

docker version

以下为展示日志

Client: Docker Engine - Community
 Version:           20.10.3
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        48d30b5
 Built:             Fri Jan 29 14:34:14 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.3
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       46229ca
  Built:            Fri Jan 29 14:32:37 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

5.验证docker是否安装成功

docker run hello-world

以下为展示日志

0e03bdcc26d7: Pull complete
Digest: sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

以上为安装成功!

6.设置开机自启

systemctl start docker
systemctl enable docker

7.查看启动状态

systemctl status docker

以下为展示日志

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2021-02-07 11:19:48 CST; 2h 10min ago
     Docs: https://docs.docker.com
 Main PID: 6805 (dockerd)
    Tasks: 10
   Memory: 49.1M
   CGroup: /system.slice/docker.service
           └─6805 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont...

2月 07 11:19:47 bogon dockerd[6805]: time="2021-02-07T11:19:47.740356356+0...pc
2月 07 11:19:47 bogon dockerd[6805]: time="2021-02-07T11:19:47.764173992+0...."
2月 07 11:19:48 bogon dockerd[6805]: time="2021-02-07T11:19:48.672975282+0...s"
2月 07 11:19:48 bogon dockerd[6805]: time="2021-02-07T11:19:48.795440720+0...g"
2月 07 11:19:48 bogon dockerd[6805]: time="2021-02-07T11:19:48.921816765+0...."
2月 07 11:19:48 bogon dockerd[6805]: time="2021-02-07T11:19:48.953092771+0....3
2月 07 11:19:48 bogon dockerd[6805]: time="2021-02-07T11:19:48.953380299+0...n"
2月 07 11:19:48 bogon systemd[1]: Started Docker Application Container Engine.
2月 07 11:19:48 bogon dockerd[6805]: time="2021-02-07T11:19:48.988094890+0...k"
2月 07 11:27:30 bogon dockerd[6805]: time="2021-02-07T11:27:30.296721547+0...e"
Hint: Some lines were ellipsized, use -l to show in full.

8.ps -ef|grep docker

以下为展示日志

root      6805     1  0 11:19 ?        00:00:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root      7552  6461  0 13:30 pts/0    00:00:00 grep --color=auto docker

9.关闭防火墙或打开某个端口

systemctl stop firewalld

10.设置网关ipv4

vi /usr/lib/sysctl.d/00-system.conf
编辑中增加 net.ipv4.ip_forward=1
编辑后重启网关systemctl restart network
验证修改是否成功sysctl net.ipv4.ip_forward

11.编辑docker设置

新建文件 touch filename

编辑 filename
FROM java:8 (自动下载1.8版本jdk)
VOLUME /tmp     
ADD demo-0.0.1-SNAPSHOT.jar /demo.jar (demo-0.0.1-SNAPSHOT.jar是打好的jar包,demo是自定义命名的镜像名 )
ENTRYPOINT ["java","-Djava.security.egd=file:/usr/local/XXXX(jar包位置)","-jar","/demo.jar"]

12.输入命令安装镜像

docker build -t demo .

注意上方命令中最后有**.**
以下为展示日志

Sending build context to Docker daemon  17.04MB
Step 1/4 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
60170fec2151: Pull complete
e98f73de8f0d: Pull complete
11f7af24ed9c: Pull complete
49e2d6393f32: Pull complete
bb9cdec9c7f3: Pull complete
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/4 : VOLUME /tmp
 ---> Running in 252764e4bb9c
Removing intermediate container 252764e4bb9c
 ---> 924ebd9618c0
Step 3/4 : ADD demo-0.0.1-SNAPSHOT.jar /demo.jar
 ---> 4adaf794c1e9
Step 4/4 : ENTRYPOINT ["java","-Djava.security.egd=file:/usr/local/software","-j             ar","/demo.jar"]
 ---> Running in 14abd8c750e4
Removing intermediate container 14abd8c750e4
 ---> ba929197535b
Successfully built ba929197535b
Successfully tagged demo:latest

以上显示为成功 无异常

13.重启docker

systemctl restart docker

重启是防止后续运行时报错

14.启动命令

docker run -d -p 端口号:端口号 --name 镜像文件运行名称  镜像文件名称

15.验证是否成功

[root@bogon ]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                    NAMES
9b699d03e15a   demo      "java -Djava.securit…"   5 seconds ago   Up 4 seconds   0.0.0.0:9099->9099/tcp   demo
PORTS不为空即为成功

16.网站验证

服务器IP地址+设置的端口号+/xxx

注意事项

注意:当在虚拟机上进行安装部署时,需要注意关闭虚拟机后再次使用有可能会出现 PORTS 显示Exited (255)的情况,以下为解决方案
1.删掉对应的容器
2.重新使用run命令启动程序

暂时没有更好的解决方案,与开机自启docker没有太大关系,属于关闭宿主机产生的问题。 如果您有更好的解决方案还请不吝赐教!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker安装与运行web程序 的相关文章

  • 【STM32】F429单片机的时钟系统浅析

    先把429的时钟树附上 xff1a 乍一看是不是很懵逼 xff0c 我也很懵逼 一堆乱七八糟的玩意 xff0c ST公司是真的狗 本文是基于库函数SetSysClock 展开的 xff0c 配合该函数使用时钟树效果更佳O O 讲解之间说一个
  • x-easypdf 基于pdfbox/fop 封装的框架

    x easypdf 是一个基于 pdfbox fop 二次封装的框架 xff0c 目前拥有两大模块 xff1a pdfbox 模块 与 fop 模块 pdfbox 模块 主打 pdf 编辑功能 xff0c 以组件化的形式进行 pdf 的构建
  • 【STM32】利用定时器实现最基本的定时功能(HAL)

    定时器简介 STM32F429单片机有许多定时器Timer xff0c 主要分成三类 xff0c 基本定时器 xff1b 通用定时器和高级定时器 三种类型的定时器功能由少变多 xff0c 高级定时器包含了低级定时器的功能 基本定时器 xff
  • 【STM32】通俗易懂的讲解回调函数

    转载 xff1a https blog csdn net vincent040 article details 50832955 回调函数在程序开发中是一个非常重要的概念 xff0c 所谓的回调其实就是不同程序模块之间的接口和约定 xff0
  • 【树莓派】设置树莓派开机自动运行python脚本

    近期因科研需要 xff0c 需命令树莓派开机后无需进行任何操作自动运行一个python脚本 xff0c 经查阅部分资料后实现了该功能 xff0c 为方便以后查看特此记录一下 1 打开cmd xff0c 输入 sudo vim span cl
  • 部分机器人领域顶会顶刊官网及22年顶会召开时间

    顶刊 Science Robotics AAAS The International Journal of Robotics Research IJRR Journal of Forestry Research JFR IEEE Trans
  • 服务器非root下安装Python cyglfw3库

    服务器非root下安装Python cyglfw3库 在服务器中跑PVNet的代码时遇到的 xff0c 废了比较大的劲才解决 xff0c 特意记录一下解决过程 如果你有sudo权限直接使用sudo apt get install libgl
  • FFB6D搭建环境

    文章目录 FFB6D搭建环境搭建前的准备 根据需要选择性浏览 安装apex安装normal speed安装opencv3 安装pybind11安装normal speed 安装RandLA运行代码前的准备运行代码有疑问多多交流 xff0c
  • win32Day06:控件

    1 什么是控件 xff1f 控件是具备特殊功能的窗口 xff0c 并且有模板 控件的特性 xff1a 一定是子窗口 和创建主窗口一样 xff0c 都是使用CreateWindow函数来创建 xff08 控件这种 xff09 子窗口和主窗口的
  • SIFT3D点云关键点提取详细介绍

    1 引言 SIFT3D的理论基础完全是从图像特征SIFT2D中迁移类比过来的 xff0c 类似的还有Harris3D和Harris6D的理论也是来源于Harris2D的 xff0c 这些点云特征在PCL库中都有具体的实现 Harris3D和
  • 【视觉注意力机制集锦】引言

    视觉注意力机制集锦之引言 1 注意力机制 1 1 注意力机制简介 卷积神经网络具有很强的拟合数据的能力 xff0c 但是由于优化算法和计算能力的限制 xff0c 在实践中 xff0c 卷积网络很难达到通用近似的能力 特别是在处理规模较大的输
  • 期刊论文发表一定要有老师吗

    期刊论文发表一定要有老师吗 不一定 xff0c 具体要看论文的情况以及各方面的要求 xff0c 一般研究生和博士生论文很多都有老师 xff0c 本科论文很多是毕业生自己完成即可 xff0c 大多也是可以自己完成的 xff0c 如果要求有老师
  • QT菜单样式Ribbon Control for Qt, Office ribbon control

    基于Qt xff08 最低要求Qt5 xff0c 支持C 43 43 11的编译器 xff09 开发的一个轻量级的Ribbon控件 Office样式UI 使用Qt Creator直接打开SARibbon pro xff0c 并编译即可 xf
  • C/C++:基本语法看这一篇就够了

    前言 本文来自菜鸟教程的C语言教程和C 43 43 教程的学习笔记 xff0c 对其中的示例有所删减与变更 xff0c 建议以以下两个链接为准 虽说C 43 43 是C的扩展 xff0c 但貌似二者存在差集 xff0c 而本文只展示了兼容部
  • Qt之简易版网络调试助手

    简述 qt中为网络编程提供了一个QtNetwork类 xff0c 使用QtNetwork可以实现ftp文件传输 xff0c 基于tcp ip协议的客户端和 xff08 服务端 xff09 开发等等 xff0c 本文基于QtNetwork中的
  • ubuntu18.04安装docker以及过程中遇到的问题

    一 在ubuntu18 04上安装 1 更新索引包和安装相关依赖 xff1a sudo apt update sudo apt install apt span class token operator span transport spa
  • # 解决onos localhost 登陆onos后台时 需要输入密码问题

    登陆后台要求输入密码 xff0c 但尝试各种密码均无法登陆 一般从网上拷贝来的onos安装包 xff0c 使用时容易出现此类问题 xff1a 登录后台时会要求输入密码 xff0c 但一般各种密码都无效 问题解决 onos命名其实是一个she
  • visual c++与visual studio有什么区别

  • 【基于pyAudioKits的Python音频信号处理(八)】语音增强:谱减法、维纳滤波和卡尔曼滤波

    pyAudioKits是基于librosa和其他库的强大Python音频工作流支持 API速查手册 通过pip安装 xff1a pip install pyAudioKits 本项目的GitHub地址 xff0c 如果这个项目帮助到了你 x
  • 3.K8S网络之pod中容器到容器之间的通信

    文章目录 1 引入1 1 创建一个网络名称空间1 2 root网络名称空间1 3 docker网络名称空间 4 pod容器到容器之间的通信通信的原理 1 引入 在Linux中 xff0c 网络命名空间提供了一个逻辑的网络堆栈 xff0c 包

随机推荐