CentOS安装Docker,Ubuntu安装Docker,Docker解决方案

文章目录

  • CentOS7安装Docker
  • Ubuntu
  • 修改Docker镜像源
  • docker设置容器自动启动
      • 启动时加--restart=always
      • 如果已经过运行的项目
      • docker compose设置容器自启动
  • docker file修改时区
  • docker在容器执行命令
    • 简单粗暴的办法
      • 安装curl
  • docker compose命令
    • 安装docker compose
  • Docker WEB 图形化
  • Jenkins 无法执行 docker 命令
  • docker 查看某个时间段的日志

CentOS7安装Docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo systemctl enable --now docker # 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

Ubuntu

# 安装依赖
apt-get install ca-certificates curl gnupg lsb-release# 添加Docker官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 添加Docker的软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"# 安装Docker
apt-get install docker-ce docker-ce-cli containerd.io -y# 开启Docker服务
systemctl enable --now docker


修改Docker镜像源

# 写入配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker-0.unsee.tech","https://docker-cf.registry.cyou","https://docker.1panel.live"]
}
EOF# 重启docker服务
systemctl daemon-reload && systemctl restart docker


docker设置容器自动启动

启动时加–restart=always

docker run -tid --name isaler_v0.0.11 -p 8081:8080 --restart=always -v /alidata/iDocker/run/projectImages/isaler/v0.0.11/log:/usr/local/tomcat/logs isaler_v0.0.11Flag	Description
no		不自动重启容器. (默认value)
on-failure 	容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 	在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 	在容器已经stop掉或Docker stoped/restarted的时候才重启容器

如果已经过运行的项目

如果已经启动的项目,则使用update更新:docker update --restart=always isaler_v0.0.11

–restart参数

--restart参数=no默认策略,在容器退出时不重启容器on-failure在容器非正常退出时(退出状态非0),才会重启容器on-failure:3在容器非正常退出时重启容器,最多重启3次always在容器退出时总是重启容器
#开机自启unless-stopped在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
# 一般推荐使用always参数--restart=always

docker compose设置容器自启动

docker-compose的配置文件是一个.yml格式的文件
第一部分
version: "3"  #指定语法的版本
第二部分
services:     #定义服务nginx:      #服务的名称,-p参数后接服务名称container_name: web-nginx    #容器的名称image: nginx:latest          #镜像restart: always				#设置开机自启ports:                       #端口映射- 80:80
第三部分
volumes:       #物理机与容器的磁盘映射关系- ./webserver:/webserver- ./nginx/nginx.conf:/etc/nginx/nginx.conf


docker file修改时区

Centos

RUN rm -rf /etc/localtime
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/shanghai >> /etc/timezone
RUN echo "export TZ='CST-8' " >> /etc/profile
RUN source /etc/profile

Ubuntu

ENV TZ=Asia/Shanghai 
RUN echo "${TZ}" > /etc/timezone \ 
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ 
&& apt update \ 
&& apt install -y tzdata \ 
&& rm -rf /var/lib/apt/lists/*

Debian

ENV TZ=Asia/Shanghai

参考链接:

https://juejin.cn/post/7082670118257295391



docker在容器执行命令

宿主机安装

yum install util-linux
# 1、找到容器的pid     docker inspect -f "{{.State.Pid}}" bb4cdc8cf836
[root@txy201-51 ~]# docker inspect test-nsenter -f "{{.State.Pid}}"
7327
# 2、使用nsenter进入这个命名空间
[root@txy201-51 ~]# nsenter -t 7327 -n

简单粗暴的办法

docker cp /usr/sbin/ss c91f37f68301:/usr/sbin/ss

安装curl

docker ps |grep excel-cell-data-import |awk '{print $1}' |head -1
# 修改容器ID,然后按顺序执行
ContainerID=da1c1842d2d6
docker cp /usr/bin/curl $ContainerID:/usr/bin/curl
#docker cp /lib64/libcurl.so.4 $ContainerID:/usr/lib64/docker cp /lib64/libcurl.so.4 $ContainerID:/lib64/
docker cp /lib64/libc.so.6 $ContainerID:/lib64/docker cp  /usr/lib64 $ContainerID:/
export LD_LIBRARY_PATH=/usr/lib64/
export LD_LIBRARY_PATH=/lib64/docker exec -ti $ContainerID /bin/bash


docker compose命令

安装docker compose



Docker WEB 图形化

使用portainer图形化

docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce

持久化的数据目录为/data

持久化的web 页面目录为 /public



Jenkins 无法执行 docker 命令

# 把 Jenkins 加入 docker 组
usermod -a -G docker jenkins


docker 查看某个时间段的日志

docker logs -t  --since '2022-05-16T15:13:05.999999999'  --until='2022-05-16T17:00:05.999999999' machexec_container-t 显示时间戳--since 显示自某个timestamp之后的日志--until 显示自某个timestamp之前的日志

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

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

相关文章

走进 Tcl 语言:历史、特性与应用

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、Java 与 Python 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在未来…

消息中间件:RabbitMQ镜像集群部署配置全流程

目录 1、特点 2、RabbitMQ的消息传递模式 2.1、简单模式&#xff08;Simple Mode&#xff09; 2.2、工作队列模式&#xff08;Work Queue Mode&#xff09; 2.3、发布/订阅模式&#xff08;Publish/Subscribe Mode&#xff09; 2.4、路由模式&#xff08;Routing Mode&am…

【STM32】通过HAL库Flash建立FatFS文件系统并配置为USB虚拟U盘MSC

【STM32】通过HAL库Flash建立FatFS文件系统并配置为USB虚拟U盘MSC 在先前 分别介绍了FatFS文件系统和USB虚拟U盘MSC配置 前者通过MCU读写Flash建立文件系统 后者通过MSC连接电脑使其能够被操作 这两者可以合起来 就能够实现同时在MCU、USB中操作Flash的文件系统 【STM32】通过…

打穿内网三重奏-红日7

靶机下载地址&#xff1a; 漏洞详情 (qiyuanxuetang.net) 攻击链路&#xff1a; DMZ区IP段为192.168.11.1/24 第二层网络环境IP段为192.168.52.1/24 第三层网络环境IP段为192.168.93.1/24 这里DMZ和攻击者我用的是192.168.11.1 这个网段&#xff0c;其他不变 这里我加了两张…

学习笔记-人脸识别相关编程基础

通过编程实现人脸识别功能&#xff0c;需要掌握一定的技术基础&#xff0c;包括编程语言、图像处理、机器学习以及相关的库和框架&#xff1a; 1. 编程语言 Python&#xff1a;Python 是实现人脸识别最常用的语言之一&#xff0c;因为它有大量的库和框架支持&#xff0c;如 Op…

LeetCode题解:2690. 无穷方法对象,Proxy

Problem: 2690. 无穷方法对象 思路 这个问题的核心在于创建一个对象&#xff0c;该对象能够响应对其任何方法的调用&#xff0c;并返回调用的方法名称。为了实现这一点&#xff0c;我们可以利用 JavaScript 中的 Proxy 对象。Proxy 对象允许我们自定义对象的基本操作&#xff…

Vue.js 在低代码开发平台中的应用与优化

Vue.js 在低代码开发平台中的应用与优化 在数字化转型的进程中&#xff0c;低代码开发平台成为了企业快速构建应用的得力助手。而 Vue.js 作为一款广受欢迎的前端框架&#xff0c;在低代码开发平台中发挥着举足轻重的作用。它不仅提升了开发效率&#xff0c;还优化了应用的用户…

【CodePen实战:撤销重做功能全记录】

&#x1f6e0;️ CodePen实战&#xff1a;撤销重做功能全记录 &#x1f31f; 目录 &#x1f6a8; 真实报错全记录 - 那些折磨我的Bug&#x1f3d7;️ 极简架构设计 - 适合实验项目的结构&#x1f9e9; 模块实现细节 - 关键代码解析&#x1f691; 急救方案 - 快速Debug技巧 &a…

QML 快捷键与Shortcut的使用

一、效果展示 二、源码分享 import QtQuick import QtQuick.Controls import Qt.labs.qmlmodels import QtQuick.Controls.Basic import QtQuick.Layouts import QtQuick.Effects import Qt.labs.platformApplicationWindow {id:rootwidth: 1000height: 730visible: truetitle…

RocketMQ和Kafka如何实现顺序写入和顺序消费?

0 前言 先说明kafka&#xff0c;顺序写入和消费是Kafka的重要特性&#xff0c;但需要正确的配置和使用方式才能保证。本文需要解释清楚Kafka如何通过分区来实现顺序性&#xff0c;以及生产者和消费者应该如何配合。   首先&#xff0c;顺序写入。Kafka的消息是按分区追加写入…

【南方Cass】快捷键0002:合并多段线

快捷键&#xff1a;JOIN 按下快捷键JOIN&#xff0c;然后选择需要合并的对象&#xff08;多段线&#xff09;&#xff0c;按下回车即可完成合并。

HTML之JavaScript变量和数据类型

HTML之JavaScript变量和数据类型 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</titl…

Qt的isVisible ()函数介绍和判断窗口是否在当前界面显示

1、现象&#xff1a;当Qt的窗口最小化时&#xff0c;isVisible值一定是true&#xff0c;这是正常的。 解释&#xff1a;在Qt中&#xff0c;当你点击窗口的最小化按钮时&#xff0c;Qt内部不会自动调用 hide() 方或 setVisible(false) 来隐藏窗口。相反&#xff0c;它会改变窗口…

【愚公系列】《Python网络爬虫从入门到精通》007-请求模块requests高级应用(Reguests-HTML)

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

【虚幻引擎UE】UE4.23到UE5.5的核心功能变化

简单总结从UE4.23到UE5.5&#xff0c;虚幻引擎的重大变化&#xff1a; 1. WebGL/HTML5 平台支持和像素流 UE4.23-UE4.25&#xff1a;移除官方HTML5支持&#xff0c;改为社区插件维护。 但通过第三方插件&#xff08;如WebAssemblyWebGPU&#xff09;可在浏览器运行部分项目。U…

win10 离线安装openssh.server

在 Windows 10 上离线安装 OpenSSH Server 可以通过手动安装的方式来达成&#xff0c;因为 OpenSSH 默认并不包含在 Windows 10 的可选功能中。以下是一些步骤来帮助你手动安装 OpenSSH Server&#xff1a; 方法一&#xff1a;使用 PowerShell 安装 启用管理员权限的 PowerShe…

在Vue中,JavaScript数组常用方法,添加,插入,查找,删除等整理

在Vue中&#xff0c;JavaScript数组常用&#xff0c;添加&#xff0c;插入&#xff0c;查找&#xff0c;删除等整理 1.splice()方法可以直接修改原数组&#xff0c;通过指定要删除元素的索引来删除它。 例&#xff1a; let index // 要删除的元素的索引; this.array.splice(i…

【AI论文】CodeI/O: 通过代码输入输出预测来提炼推理模式

摘要&#xff1a;推理是大型语言模型的一项基本能力。尽管先前的研究主要集中在提升如数学或代码生成等狭窄领域的技能&#xff0c;但由于训练数据稀疏且分散&#xff0c;在许多其他推理任务上提高性能仍然具有挑战性。为了解决这个问题&#xff0c;我们提出了CodeI/O&#xff…

AI编程01-生成前/后端接口对表-豆包(或Deepseek+WPS的AI

前言: 做过全栈的工程师知道,如果一个APP的项目分别是前端/后端两个团队开发的话,那么原型设计之后,通过接口文档进行开发对接是非常必要的。 传统的方法是,大家一起定义一个接口文档,然后,前端和后端的工程师进行为何,现在AI的时代,是不是通过AI能协助呢,显然可以…

热更图片方案

项目平常需要对线上一些图片资源修正&#xff0c;所以需要热更图片功能。 远端入口新增字段配json文件 {"1.1.22030303":{"sprite":{"assets/ui/common/images/acient_gold.png" : "https://aaaa.png","assets/ui/common/image…