当前位置: 首页 > news >正文

Docker安装各种组件

列举镜像

docker images // 列举镜像

搜索镜像

docker search jdk

0

下载镜像:

docker pull java

查看镜像:

docker images

启动镜像:

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

查看容器:

docker ps

查看所有容器:

docker ps -l

停止容器:

docker stop [容器id]

启动容器:

docker start [容器id]

删除容器:

docker rm [容器id]

删除镜像:

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

进入容器:

docker attach [容器id]

安装mysql

docker pull mysql:5.7

启动mysql

docker run -p 3306:3306 --name mysql \-v /mydata/mysql/log:/var/log/mysql \-v /mydata/mysql/data:/var/lib/mysql \-v /mydata/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7 docker run -p 3308:3306 --name mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7 docker run -p 3308:3306 --name mysql3308 --restart=always \-v /mydata/mysql3308/log:/var/log/mysql \-v /mydata/mysql3308/data:/var/lib/mysql \-v /mydata/mysql3308/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7

参数解释:

  • --name 容器名字
  • -p 3308:3306 物理机端口:容器内部端口
  • -e 运行参数 初始化 root 用户的密码
  • -d 后台运行 mysq5.7 镜像名字加标签

-v 目录挂载,-v /mydata/mysql/log:/var/log/mysql 表示将 docker里面mysql容器的/var/log/mysql目录挂载到宿主linux系统的 /mydata/mysql/log 目录下,方便查看。

docker update --restart=always 容器id

更新容器信息

然后修改权限:

// 进入mysql容器: 
docker exec -it 934e3c005153 /bin/bash 
// 登录mysql: 
mysql -uroot -proot 
// 修改权限: 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'ChatP@ss7633'; 或者:ALTER USER 'root'@'%' IDENTIFIED BY 'ChatP@ss7633'; 
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-11gdocker 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启动mysqsl、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'] = 8001http://121.4.123.248:8001/
root/ChatP@ss7633

安装Grafana

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

安装 Prometheus

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

相关文章:

  • 上位机图像处理和嵌入式模块部署(qmacvisual之ROI设定)
  • 第十一章:位运算符与位运算
  • ABC346 A-G 题解
  • uni-app 富文本编辑器
  • Rust 实战练习 - 1. 输入,输出,环境变量,字符,字符串
  • flask_Restful数据解析参数设置
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • flowable-ui后台显式非中文
  • 百度文心一言(ERNIE bot)API接入Android应用
  • DNS、DNS劫持与HTTPDNS:原理、应用与安全分析
  • 外包干了一个月,忘记Git怎么使用了...
  • Rust 标准库:std::env::args() 函数简介
  • linux系统装载nginx的笔记
  • IDEA一键备份MySQL数据库(mysqldump版)
  • 树状打印二叉树的类Java、Go、PHP
  • __proto__ 和 prototype的关系
  • Java到底能干嘛?
  • jQuery(一)
  • js继承的实现方法
  • mysql中InnoDB引擎中页的概念
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python 反序列化安全问题(二)
  • React-flux杂记
  • React中的“虫洞”——Context
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 笨办法学C 练习34:动态数组
  • 多线程 start 和 run 方法到底有什么区别?
  • 分享几个不错的工具
  • 高性能JavaScript阅读简记(三)
  • 工作手记之html2canvas使用概述
  • 警报:线上事故之CountDownLatch的威力
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用 @font-face
  • 使用parted解决大于2T的磁盘分区
  • 数组的操作
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 在Mac OS X上安装 Ruby运行环境
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (6)STL算法之转换
  • (C语言)fgets与fputs函数详解
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (全注解开发)学习Spring-MVC的第三天
  • (三)模仿学习-Action数据的模仿
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转载)利用webkit抓取动态网页和链接
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .equals()到底是什么意思?
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案