docker安装各种组件

一 docker基本命令

镜像操作

① 列举镜像

docker images

② 搜索镜像(以jdk为例)

docker search jdk

③ 下载镜像

docker pull java

④ 查看所有镜像

docker images

⑤ 启动镜像(以jdk8为例)

docker run -it --name jdk1.8 -d java:latest /bin/bash

⑥ 删除镜像

docker rmi [镜像id] docker rmi [镜像名称]:[tag]

容器操作

① 进入某个容器进行操作

// 以进入mysql容器为例:
docker exec -it {{自己容器进程ID,用docker ps查看}} /bin/bash

② 查看所有运行着的容器

docker ps -a

③ 启动容器

docker start [容器id]

④ 停止容器

docker stop [容器id]

⑤ 删除容器

docker rm [容器id]

⑥ 查看运行的容器日志

docker logs [OPTIONS] 容器ID或容器名称 [OPTIONS]-f : 跟踪日志输出
-t : 显示时间戳 
--tail :仅列出最新N条容器日志 
--since:显示某个日期至今的所有日志

查看最近10条日志, 并持续打印

docker logs -f --tail 10 efb78392fcc6

查看某个日期至今的所有日志, 并持续打印

docker logs -f --since "2022-05-16" efb78392fcc6

二 安装mysql

docker pull mysql:8.1.0

启动mysql

# 第一个3306是物理机端口,第二个3306是docker容器端口 
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.1.0

停止mysql

docker rm {{需要删除进程的ID}} 使用 docker ps -a 命令查看 
或
docker rm {{需要删除进程的名字}},例 docker rm mysql

然后修改权限:

// 进入mysql容器: 
docker exec -it {{自己容器进程ID,用docker ps查看}} /bin/bash 
// 登录mysql: 
mysql -uroot -proot 
// 修改密码:记得flush privileges一下 
ALTER USER 'root'@'%' IDENTIFIED BY '123456'(密码); 
flush privileges;

mysql配置文件: vim /mydata/mysql/conf/my.cnf

[client] 
default-character-set=utf8 
[mysql] 
default-character-set=utf8 
[mysqld] 
init_connect='SET collation_ connection = utf8_ unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake 
skip-name-resolve

三 安装Oracle

# 安装oracle 
https://hub.docker.com/r/oracleinanutshell/oracle-xe-11g 
docker pull oracleinanutshell/oracle-xe-11g # 运行镜像 -p: 是容器内部端口绑定到指定的主机端口 
docker run --name oracle -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g # 进入容器 
docker exec -it 容器id /bin/bash # 连接 oracle 
su oracle 
cd $ORACLE_HOME 
bin/sqlplus / as sysdba 
# 创建账号 
create user qingxi identified by 123456; 
grant connect,resource to qingxi; # 修改密码 
alter user 用户名 identified by 新密码; # 删除用户 
drop user 用户名;

四 安装Postgresql

# 拉取镜像 
docker pull postgres # 启动镜像 
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=pass123 postgres # 进入容器 
docker exec -it 容器id /bin/bash # 连接pg 
psql -U postgres -h 127.0.0.1 -p 5432

五 安装redis

docker pull redis

启动

// 创建配置文件 
mkdir -p /mydata/redis/conf 
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis \ 
--restart=always \ 
-v /mydata/redis/data:/data \ 
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ 
-d redis redis-server /etc/redis/redis.conf

redis-cli控制台:

docker exec -it redis redis-cli

redis开启持久化,修改配置文件redis.conf,启动aof持久化,输入:

appendonly yes

docker启动之后,mysql、redis也自动启动:

docker update mysql --restart=always 
docker update redis --restart=always

六 安装portainer

-it表示使用交互方式运行容器,能进入容器内部进行内容的查看 
-p 9000:9000把主机的9000端口映射到docker的9000端口上 
--name给容器命名 
--restart=always是重启策略,表示随着docker的重启而重启 
-v表示把数据挂载到本机 
--privileged=true表示授权 
docker run -d -p 9000:9000 --name portainer \ 
--restart=always -v /var/run/docker.sock:/var/run/docker.sock \ 
--privileged=true portainer/portainer

七 Linux图形话监控netdata

docker run -d --name=netdata \ 
-p 19999:19999 \ 
-v netdataconfig:/etc/netdata \ 
-v netdatalib:/var/lib/netdata \ 
-v netdatacache:/var/cache/netdata \ 
-v /etc/passwd:/host/etc/passwd:ro \ 
-v /etc/group:/host/etc/group:ro \ 
-v /proc:/host/proc:ro \ 
-v /sys:/host/sys:ro \ 
-v /etc/os-release:/host/etc/os-release:ro \ 
--restart unless-stopped \ 
--cap-add SYS_PTRACE \ 
--security-opt apparmor=unconfined \ 
netdata/netdata

八 安装Gitlab

docker run -d -p 443:443 -p 8001:8001 -p 222:22 --name gitlab \ 
--restart always \ 
-v /home/gitlab/config:/etc/gitlab \ 
-v /home/gitlab/logs:/var/log/gitlab \ 
-v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:12.7.6-ce.0 # -d:后台运行 
# -p:将容器内部端口向外映射 
# --name:命名容器名称 
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录 # 配置http协议所使用的访问地址,不加端口号默认为80 
external_url 'http://121.4.123.248' 
# 配置ssh协议所使用的访问地址和端口 
gitlab_rails['gitlab_ssh_host'] = '121.4.123.248' 
# 此端口是run时22端口映射的222端口 
gitlab_rails['gitlab_shell_ssh_port'] = 222 
nginx['listen_port'] = 8001 http://121.4.123.248:8001/ 
root/ChatP@ss7633

九 安装Grafana

docker pull grafana/grafana 
docker run -d -p 3000:3000 --restart always --name=grafana \ 
-v /root/grafana/data:/var/lib/grafana grafana/grafana

十 安装 Prometheus

docker pull bitnami/prometheus docker run \ 
-p 9090:9090 \ 
-v /root/prometheus/conf/prometheus.yml:/etc/prometheus/prometheus.yml \ 
--name prometheus bitnami/prometheus

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

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

相关文章

Android AMS

Android进阶:一口气读完《Android进阶解密》 - 掘金 Android AMS(Activity Manager Service)实现的功能 **管理应用程序的生命周期:**启动、停止、暂停、恢复和销毁应用程序。 **控制应用程序的启动顺序:**确保应用程…

鸿蒙实战开发学习:【HiView插件开发】

概述 Hiview是一个跨平台的终端设备维测服务集,其中是由插件管理平台和插件实现的各自功能构成整套系统。 本文描述了hiview插件开发的全部流程。 插件的概念 整节部分包括了插件的概念,事件源的概念,流水线的概念等基本概念 插件的定义 …

低功耗高端蓝牙智能跳绳解决方案

一、方案概述 跳绳运动作为轻量、燃脂、便捷的运动之一,拥有庞大的人群基础。在这样的趋势下,智能跳绳的智能化及精细化也就顺理成章。 芯联深入智能运动健康器材市场,最新开发了蓝牙智能跳绳方案,采用双霍尔高精准计数方案&…

Nodejs 18.19.0 基本环境搭建(无版本管理)

简介 记录一次安装Nodejs的过程, 及设置install 安装路径等… 基本安装及设置步骤 1. 下载Nodejs并安装 NodeJs 18.19.0 LTS Windows安装msi, 下载后安装在自己想要的路径, 例如 D:\Softwares\Dev_Tools\nodejs cmd 中输入 nodejs version 可以查看版本 2. 设置 npm config ls…

Java17 --- SpringCloud初始项目创建

目录 一、cloud项目创建 1.1、项目编码规范 1.2、注解生效激活 1.3、导入父工程maven的pom依赖 二、创建子工程并导入相关pom依赖 2.1、相关配置文件 2.1.1、数据库配置文件内容 2.1.2、自动生成文件配置内容 三、创建微服务8001子工程 3.1、导入相关pom依赖 3.…

蓝桥杯PythonB组练习——字符串对比

一、题目 问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4种情况之一: 1:两个字符串长度不等。比如Beijing和Hebei 2:两个字符串不仅长度相等&#xf…

全面认识计算机操作系统(二)

目录 一、操作系统的诞生 相关概念: 1. 手工操作阶段 2. 脱机输入 / 输出阶段 (1)脱机输入技术 (2)脱机输出技术 3. 单道批处理阶段 4. 多道批处理阶段 5. 分时技术产生 6. 实时系统产生 二、现代操作系统的…

植物病害识别:YOLO水稻病害识别数据集(3000多张,3个类别,yolo标注)

YOLO水稻病害识别数据集,包含细菌性枯萎病,水稻瘟疫,褐斑病3个常见病害类别,共3000多张图像,yolo标注完整,可直接训练。 适用于CV项目,毕设,科研,实验等 需要此数据集或…

隐私与创新的交汇点:Partisia Blockchain 重绘技术蓝图

正当我们在这个信息泛滥的时代寻找稳固的信任锚点时,区块链技术应运而生,然而,正如任何科技革命都会遇到的挑战,一个重要的问题摆在了我们面前:如何在不牺牲个人隐私的前提下,享受区块链技术带来的好处&…

ChatGLM:CPU版本如何安装和部署使用

前段时间想自己部署一个ChatGLM来训练相关的物料当做chatgpt使用,但是奈何没有gpu机器,只能使用cpu服务器尝试使用看看效果 我部署的 Chinese-LangChain 这个项目,使用的是LLM(ChatGLM)embedding(GanymedeNil/text2vec…

深克隆和浅克隆

1.克隆 克隆是指创建对象的一个副本,使副本具有与原始对象相同的属性和状态。 而克隆又分深克隆和浅克隆。 2.浅克隆 浅克隆:只会把原对象中类型为值的属性复制一份,然后引用数据类型就把它们在内存中的地址复制过去 比如一个对象有 public …

Rust:性能优异的异步并发库 Tokio

一、Tokio 简介 Tokio是一个开源的异步运行时库,专为编写异步IO应用而设计。它提供了一种简单而安全的方式来编写异步代码,允许开发者无缝切换不同类型的异步运行时,并提供了统一的接口用于实现不同的功能,如网络IO、文件IO、数据…

我终于解决MathPage.wll文件找不到问题|(最新版Word上亲测)运行时错误,53’: 文件未找到:athPage.WLL

1、问题症状: 运行时错误,53’: 文件未找到:athPage.WLL 2、 解决方案 第一步 首先我们要先找到MathType安装目录下MathPage.wll文件,直接在此电脑中搜索MathPage.wll,找到文件所在位置。 第二步 打开Word文件&#xff0c…

Matplotlib进阶学习:基于Matplotlib实现设置Times New Roman字体

Matplotlib进阶学习:基于Matplotlib实现设置Times New Roman字体 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f4…

求区间的最大值(RMQ、线段树)

题目描述: 有n个数,给你m个询问,每次询问给你A,B个数,要求你编写程序求出[A,B]这个区间中的最大值。 输入格式: 第一行一个整数 N表示数字的个数。 接下来一行为 N个数,表示数字序列。 第三…

Git指令reset的参数soft、mixed与hard三者之间的区别

主要内容 reset默认不写参数,与使用mixed参数含义一样 为了描述简洁,使用下图说明: #mermaid-svg-LtChquRXlEV1j6og {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LtChquRXlEV1j…

实现简易可视化拖拽生成页面

1.背景 由于一些简单、重复的页面,需要开发,会耗费大量人力和物力。因此一般会利用低代码平台,进行拖拽生成,下面就是实现简易可视化拖拽生成页面 2 简易可视化拖拽生成页面具体实现 2.1 整体页面布局 整个页面分为顶栏、内容区…

react native使用TS实现路由

一、入口文件app.jsx的配置 入口文件最好还是要保留jsx import { NavigationContainer } from react-navigation/native; import { navigationRef } from "./src/views/RootNavigation";const App () > {return&#xff08;<NavigationContainer ref{navigat…

递增三元组 刷题笔记

题意为 若存在 a中的数小于b中的数&#xff0c;b中的数小于c中的数 则该数算一种方案 思路 暴力模拟优化 两层循环遍历即可 从b到c的过程我们发现 第三层并不需要循环 直接加上 大于b的数量即可 那么第一层和第三层是对称的 我们有没有可能再去掉一层循环 只做一次遍历 …

238.除自身以外数组的乘积

题目&#xff1a;给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且…