随笔:docker学习笔记(包括了基础学习和制作运行jar包的docker镜像,还有centos7防火墙这个坑)

如何在CentOS7上使用防火墙保护Docker容器的端口 在主机或虚机上运行Docker容器时,即便主机启用了firewalld服务,仍然存在一些安全隐患,尤其是当Docker容器内打开端口并监听0.0.0.0时,存在即使通过firewall-cmd配置了阻止某些端口被外部访问也不生效的问题,firewall-cmd配置阻止的端口实际测试下来还是公开并对所有请求开放的。我测试的场景:在CentOS 7.9上安装了Docker版本20.10.17,并运行了一个Docker容器,该容器在3000端口上打开并监听0.0.0.0。我通过。 阅读详情

docker学习笔记

docker安装

之前写过docker安装,这里就不在赘述了,有兴趣的朋友可以看一下:https://blog.youkuaiyun.com/caodingzheng/article/details/108867075

docker使用

一、docker run ubuntu:15.10 /bin/echo “Hello world”

docker库:tag标签
ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。

二、运行交互式的容器:

1、docker run -i -t ubuntu:15.10 /bin/bash
参数解释:
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

2、启动容器(后台模式)
docker run -d ubuntu:15.10 /bin/sh -c “while true; do echo hello world; sleep 1; done”

在输出中,我们没有看到期望的 “hello world”,而是一串长字符
af907a686afde444a31b1d4390a15041b1853faeffcdd239d36ef867883b2299
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看

输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。

状态有7种:
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

在宿主主机内使用 docker logs 命令,查看容器内的标准输出:
docker logs ID号
或者docker logs 容器名称(NAMES)

使用docker stop ID号 或者docker stop 容器名称(NAMES)停止容器

三、启动已停止运行的容器:

1、查看所有的容器:
docker ps -a

2、启动已停止的容器:
docker start ID号 或者docker start 容器名称(NAMES)

或者docker restart ID号/容器名称(NAMES)来进行重启

四、后台运行容器:

docker run -itd --name ubuntu-test ubuntu /bin/bash
参数解释:
-d 后台运行
–name 为启动的容器命名

五、后台运行容器时进入容器:

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
1、docker attach :退出容器终端会导致容器停止
docker attach ID号或者names
2、docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
docker exec -it ID号或者names /bin/bash

六、导出导入容器:

docker export ID号或者names > 导出路径
如docker export 1e560fca3906 > ubuntu.tar
docker export ubuntu-test > /home/qc/cdz/docker/ubuntu.tar

导入容器:
cat /home/qc/cdz/docker/ubuntu.tar | docker import - test/cdz:ubuntu.v1

通过docker images查看

七、删除容器、镜像

docker rm -f ID号或者names
docker image rm -f ID号或者names

八、运行web

下载公用镜像:docker pull training/webapp
随机端口:docker run -d -P training/webapp python app.p
设置web端口:docker run -d -p 5000:5000 training/webapp python app.py

九、列出镜像列表

我们可以使用 docker images 来列出本地主机上的镜像。

十、docker安装centOS

访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1
拉取指定版本的centOS镜像:docker pull centos:centos7
运行容器:docker run -itd --name centos-test centos:centos7

十一、docker安装MySQL

访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags

运行MySQL:
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.31
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。其中第一个3306是宿主机的端口,第二个3306是容器的端口。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

十二、docker安装Python

访问 Python 镜像库地址:https://hub.docker.com/_/python?tab=tags&page=5

运行Python:
docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python helloworld.py

命令说明:
-v $PWD/myapp:/usr/src/myapp: 将主机中当前目录下的 myapp 挂载到容器的 /usr/src/myapp。
-w /usr/src/myapp: 指定容器的 /usr/src/myapp 目录为工作目录。
python helloworld.py: 使用容器的 python 命令来执行工作目录中的 helloworld.py 文件

十三、将本地文件拷贝到docker容器中

docker cp 拷贝文件 容器id/names:拷贝到的容器目录

十四、启动容器赋予root权限,解决一些命令用不了的问题

docker run -itd --privileged=true --name centos7.v2 cdz/centos7.v1:centos7 /usr/sbin/init
1、关闭防火墙
下载:yum install firewalld systemd -y
查看放火墙状态:systemctl status firewalld
彻底关闭防火墙:
systemctl disable firewalld.service
systemctl stop firewalld
2、关闭放火墙后将容器导出再导入,重新生成镜像,这是可以作为一个基础镜像使用

十五、jar包端口需要和映射端口保持一致

附录:

一、生成jdk镜像的Dockerfile

# 拉取基本镜像
FROM cdz/centos7.v1:centos7
# 维护者信息
MAINTAINER caodingzheng
# 加载jdk安装包
ADD jdk-8u261-linux-x64.tar.gz /usr/local
# 环境变量设置
ENV JAVA_HOME /usr/local/jdk1.8.0_261
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
# 设置语言
ENV LANG="en_US.UTF-8"

二、部署jar包的Dockerfile

# 拉取基本镜像
FROM cdz/centos7.v2:centos7
# 维护者信息
MAINTAINER caodingzheng
# 加载jdk安装包
ADD jdk-8u261-linux-x64.tar.gz /usr/local
# 环境变量设置
ENV JAVA_HOME /usr/local/jdk1.8.0_261
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
# 设置语言
ENV LANG="en_US.UTF-8"
# 导入jar包
ADD LuckyFrameWeb.jar /LuckyFrameWeb.jar
# 执行jar包
ENTRYPOINT ["java","-jar","/LuckyFrameWeb.jar"]

三、docker build怎么使用这里就不做赘述了

centos上通过sh文件启动jar等程序与命令详解.zip 本zip包含2个文件一个现成的执行文件模板,一个模板命令详解,通过这个文件可以管理jar等程序的执行、关闭等 立即下载

相关推荐

如何设置端口映射或内网穿透方式?端口映射内网穿透网站应用发布到外网的访问

内网部署网站或应用如何设置端口映射或内网穿透方式,实现将内网地址发布外网的访问呢?下面就为大家分享下端口映射内网穿透网站应用发布到外网的访问的方法,仅供参考

Centos7防火墙设置(限制Docker)

IP127.0.0.1可以访问9200端口。

Think in Java 1135

CentOS7 Docker防火墙的简单配置教程

CentOS7 Docker防火墙的简单配置 禁用 firewalld 服务 systemctl disable firewalld systemctl stop firewalld 安装 iptables 防火墙服务 yum install iptables-services 创建 iptables 配置脚本 cat >> /usr/local/bin/fired.sh <<'EOF' #!/bin/bash iptables -F iptables -X iptables -Z iptables -P INPUT DROP iptables -P OUTPUT ACCEPT i

解决Centos7 Firewalld无法限制docker端口问题

在配置文件 /etc/docker/daemon.json 文件中添加"iptables": false。然后重新加载docker服务配置。再重启docker服务。

Hu_wen的专栏 2189

别让PEX和后仿真拖后腿:Calibre与Virtuoso ADE联调的那些‘坑’与最佳实践

本文深入探讨了Calibre与Virtuoso ADE在PEX寄生参数提取和后仿真联调中的常见问题与解决方案。针对DRC/LVS验证通过后出现的网表导入错误和仿真波形异常,提供了七大典型场景的实战经验,包括PEX提取模式选择、CalibreView生成细节、环境变量配置等关键环节的最佳实践,助力工程师高效完成芯片设计验证。

weixin_33695450的博客 391

【CV论文精读】【协同感知综述】Collaborative Perception for Autonomous Driving :Current Status and Future Trend

感知是自动驾驶系统的关键模块之一,近年来取得了很大进展。然而,单个车辆的有限能力导致感知性能提高的瓶颈。为了突破个体感知的局限,协作感知被提出,它使车辆能够共享信息来感知视线和视野之外的环境。本文综述了有前途的协作感知技术的相关工作,包括介绍了基本概念,概括了协作模式,总结了协作感知的关键要素和应用。最后,我们讨论了这一研究领域面临的挑战和问题,并给出了一些潜在的进一步方向。

weixin_44184852的博客 4689

Docker -- CentOS7安装Docker(含安装、启动(关闭防火墙)、配置Docker镜像加速)

1. CentOS7安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。 官方网站上有各种环境下的 安装指南,这里介绍 Docker CE 在 CentOS上的安装。 说明: Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,

天行健 君子以自强不息,地势坤 君子以厚德载物。 6962

维纳(Wiener)复原滤波器的三种推导形式及其在图像处理中的应用

本文深入解析了维纳(Wiener)复原滤波器的三种核心推导形式:卷积形式、矩阵向量形式和频域形式,并重点阐述了其基于线性最小均方误差(LMMSE)估计的核心思想。通过Python实战演示,展示了频域形式如何高效地在图像去模糊与噪声抑制之间取得平衡,是图像复原领域的经典且实用的工具。

net55的博客 577

将jar包打成docker镜像并部署在Linux上

将jar包打包成docker并部署在Linux上

聂可以的博客 1万+

面板数据门槛归回分析,xthreg的安装,xthreg2安装包

我用的是Stata17,数据是不平衡的面板数据,需要用到xthreg2,虽然我找到了xthreg2.ado,但是还需要安装xthreg,因为运行xthreg2需要xthreg包顺带安装的lxthreg.mlib文件。但是!我后来发现还是不行,最后是去买了一个真正能用到xthreg2的lxthreg.mlib文件,才可以运行。

weixin_55252589的博客 1万+

【上海大学计算机组成原理实验报告】七、程序转移机制

学习实现程序转移的硬件机制//掌握堆栈寄存器的使用//手动方式实现子程序调用转移过程//手动方式实现子程序返回转移过程//编程实现`OUT`寄存器交替显示`11`和`55`//若要求`11`和`55`各显示`50`次后停机,应该如何修改程序?//根据实验指导书的相关内容,实验箱系统的程序转移硬件机制在于,当`LDPC`有效时,如果此时`DUBS`上的值就是转移的目标地址,则此目标地址被打入`PC`,从而实现程序的转移;若`LDPC`为`0`是附带条件的,就形成“条件转移”。

HackerKevon的博客 2471

Centos7部署springboot项目 启动jar包、以及docker 启动jar包

1.创建一个简单的springboot项目 并打包 参考https://blog.youkuaiyun.com/weixin_40009737/article/details/105773950 2.将jar放到服务器上 3.centos7环境安装jdk 参考https://blog.youkuaiyun.com/weixin_40009737/article/details/90234069安装jdk 4.启动jar包 cd /usr nohup java -jar spring-boot-0.0.1-SN

weixin_40009737的博客 1372

YOLOv5改进策略|实战应用案例|YOLOv5苹果成熟度检测 ,准确率提升4.6%

苹果作为世界四⼤⽔果之⼀,富含多种维⽣素和矿物质,⼀直深受世界各地消费者的喜爱。据联 合国粮⻝及农业组织统计,全球⽔果产量中,苹果位列第⼆位,仅次于葡萄(贾等⼈,2020 )。然⽽,⼤多数苹果果实都是⼿⼯采摘的,这样的⽣产⽅法效率很低。此外,随着⼈⼝⽼龄化 和农村劳动⼒⼤量涌⼊城市,⽔果种植⾏业的劳动⼒成本也相应上升。所有这些因素都显着影响 着⽔果产品的市场竞争⼒。因此,实时⾼效采收苹果等⽔果,降低采收成本势在必⾏。基于机器 视觉的⽔果采摘机器⼈可以利⽤其信息感知来识别和采摘⽔果。

斌擎科技 2208

Linux CentOS7上通过docker部署jar包,以及docker常用命令

docker相关概念简单描述: Docker image:包含运行所需的文件。 Docker container:运行一个镜像就是一个容器。 Docker hub/registry:共享和管理镜像的库。 本文开始之前默认已经安装JDK和maven,如未安装请自行安装。 1、项目添加依赖 <properties> <docker.image.prefix>springboot</docker.image.prefix> <project.build.s

weixin_43073775的博客 2057

CVE-2021-22205 GITLAB 未授权 RCE 漏洞

简介 GitLab是由GitLab Inc.开发的一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面访问公开或私人项目。由于GitLab存在未授权的端点,导致该漏洞在无需进行身份验证的情况下即可进行利用。 漏洞利用 上工具 python3 poc import sys import requests from bs4 import BeautifulSoup requests.packages.urllib3.disable_warnings() def .

qq_32445755的博客 885

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何使用docker部署程序镜像(2025最新可用版,防止踩坑)

使用docker部署程序镜像,2025最新版可用,注意要修改yum和docker镜像仓库配置

qq_45664991的博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Docker部署运行springboot项目,并使用Dockerfile制作镜像

docker部署springboot项目

weixin_43839635的博客 1510

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

docker把web jar包制作成镜像

1.新建一个spring boot项目 并使用maven打成jar包,放到linux(centos7)环境上。 运行 java -jar hello.jar 后结果如下(这里项目对外提供的端口是9090) 2.准备环境 新建一个目录hello,里面存放项目包(hello.jar)、运行环境(jdk8)和Dockerfile Dockerfile内容如下 FROM cent...

weixin_30568591的博客 234

CentOS 7.6 使用 Docker 部署 MySQL,jar 包(初次部署+更新)以及 nginx 步骤记录

CentOS 7.6 + Docker20 容器化部署 jar 包, MySQL8.0.29 和 nginx,从环境搭建开始的详细记录。内含 jar 包更新步骤说明。

weixin_50290666的博客 2686

centos7使用docker搭建运行环境并部署jar

*首先有一个干净的centos7环境 1.安装docker需要yum来拉取,所以先获取yum源。 yum install -y yum-utils device-mapper-persistent-data lvm2 为yum源添加docker仓库位置 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装docker yum install docker-ce 启动docker

weixin_43671737的博客 1390

CentOS7中使用Docker简单部署SpringCloud项目

前言 Docker 类似于一个小型的集装箱,里面可以配置项目运行的环境,而且解决了 '我的环境可以运行的,你的环境 运行不起来' 的问题。现在我们部署一个简单的 SpringCloud 项目来初步感受一下 Docker。 本篇博客的操作有: ① 把 SpringCloud 项目传输到服务器;打包成 Docker 镜像;运行镜像;输出相应的文字 ② 把服务器中打包的 Sp...

我的博客 4071

idea打jar包springboot远程部署到Docker

背景: 本地安装虚拟机以便自己测试处理部署及安装过程 linux系统:centos7 docker:最新版安装完成 禁止防火墙 禁止swap 顺序: 1.安装linux系统【centos7】 2.安装docker 3.开放2375端口 项目 目录结构下新建dockerfile,内容如下(简版) 下面展示一些 内联代码片。 FROM java:8 ADD target/*.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","/app.jar"] 备注:ADD

weixin_43723702的博客 706

搭建docker镜像仓库registry2,docker开启远程api使用maven-docker插件将jar包打包成镜像上传至仓库

1. docker安装镜像仓库registry:2 # 拉取镜像 docker pull registry:2 #查看镜像 docker images #运行镜像 docker run -itd -p 5000:5000 --restart=always --privileged=true --name registry2 registry:2 2. Docker开启远程API(可以远程操作配置此项的docker程序) 2.1 此项网上一些方法很容易出现重启失败报错 我是centos7 后面的改为 -

qq_38076935的博客 1209

使用docker部署jar包服务(个人笔记)

文章目录一、构建Docker环境使用官方安装脚本自动安装二、制作镜像,运行容器三、抓包分析 一、构建Docker环境 本步骤参考:https://www.runoob.com/docker/centos-docker-install.html Docker 支持以下的 64 位 CentOS 版本: CentOS 7 CentOS 8 更高版本… 使用官方安装脚本自动安装 安装命令如下: curl -fsSL https://get.docker.com | bash -s docker --mirro

wangjw.bug 2331

史上最全的CentOS常用软件安装和启动步骤【包含Docker安装】_centos7

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors。下载地址:https://github.com/mobz/elasticsearch-head/releases。改完后,按Esc ,再shift+分号,再输入wq保存退出所有容器的主机映射都挂载在/usr/local/develop/docker-app目录下。硬件参数配置:2核/4G内存/40G存储/1网卡。

2401_84187537的博客 1347
上一篇: 随笔:测试心得
下一篇: Python基础学习:打印九九乘法表
caodingzheng
博客等级 码龄7年 18粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值