Open dave-wind opened 1 year ago
1. docker search superset // 搜索镜像
2. docker pull amancevice/superset // 这里下载的 amancevice/superset 这个镜像
3.密钥配置
openssl rand -base64 42
4. 创建文件 /data/superset/superset_config.py
5.编辑 superset_config.py
SECRET-KEY = '密钥'
6.启动容器
docker run -d -p 8088:8088 -v /data/superset/superset_config.py:/home/superset/superset_config.py amancevice/superset
// 挂载数据 使用 /data/superset/superset_config 去覆盖 容器里的 py文件
7.查看 容器 id
docker ps -a
8.初始化superset
docker exec -it your_container_name_or_id superset-init
// 初始化所有 superset 环境 以及 设置密码和用户
eg:root 123456
sudo
1. 查询镜像
docker search grafana
2.下载镜像
docker pull grafana-enterprise // 企业版
3. mkdir /data/grafana
4.创建compose touch docker-compose.yaml
version: '3.8' services: grafana: image: grafana/grafana-enterprise container_name: grafana restart: unless-stopped # if you are running as root then set it to 0 # else find the right id with the id -u command user: '0' ports: - '8086:3000' # adding the mount volume point which we create earlier volumes: - './data:/var/lib/grafana'
5.grafana 目录下文件: data docker-compose.yaml 俩文件;
6.默认容器内grafana 端口为3000; 我们需要修改端口 这里为 8086
8.在docker-compose 根文件下 启动: docker compose up -d
9.关闭服务 docker compose down
10.密码 初始化的时候 都为 admin admin 访问 页面 可以在界面上修改密码 eg: admin nioadmin
11.官方文档: https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/
基本操作
1.理解镜像和容器: 镜像就是静态的应用容器,容器就是动态的应用镜像 Build once, Run anywhere 镜像包含完整的
docker pull nginx:1.21-alpine // 镜像:版本号-操作系统名等等 docker pull nginx:alpine docker pull redis
2.删除 docker rmi 镜像名|[IMAGE ID] // 镜像ID 十六进制形式且唯一
是最复杂的一个容器操作命令,有非常多的额外参数用来调整容器的运行状态,你可以加上 --help 来看它的帮助信息,今天我只说几个最常用的参数。
-it 表示开启一个交互式操作的 Shell,这样可以直接进入容器内部,就好像是登录虚拟机一样。(它实际上是“-i”和“-t”两个参数的组合形式)
-d 表示让容器在后台运行,这在我们启动 Nginx、Redis 等服务器程序的时候非常有用。
--name 可以为容器起一个名字,方便我们查看,不过它不是必须的,如果不用这个参数,Docker 会分配一个随机的名字。
--rm: 不保存容器 运行完毕自动删除清除:
docker run -d --rm redis
docker run -d nginx:alpine # 后台运行Nginx docker run -d --name red_srv redis # 后台运行Redis docker run -it --name ubuntu 2e6 sh # 使用IMAGE ID,登录Ubuntu18.04 (2e6 为ImageID前三位)
4.进入容器内部
docker run -it --rm your_image_name sh // 运行且进入容器内部
docker exec -it【镜像ID】 sh // 进入内部 在执行 shell脚本 可查看内部情况
// 从宿主机拷贝文件到虚拟机 docker cp a.txt 【镜像ID】:/文件名
// 查看文件目录
5.docker run 和 docker exec 区别
docker run是用命令启动一个容器,而docker exec是在已有容器里执行命令
6.docker build
docker build -t [name:version] . // -t 给镜像打标签 .代表当前目录
7.docker save/load
然后我们还可以用 docker save/load 命令把它导出成压缩包,方便保存和传输: docker save ngx-app:1.0 -o ngx.tar docker load -i ngx.tar
8.docker publish (内网)
docker login -u [username] artifactory.nioint.com // 登陆 输入密码
docker build -t [name:version] .
docker publish artifactory.nioint.com/ml-iiot-docker-local/[镜像名]:[版本号]
//eg: 比如 现在有一个 镜像叫 hello-world docker tag hello-world nodejs/hello-world:v1
docker push node-hello-world:v1 artifactory.nioint.com/ml-iiot-docker-local/node-hello-world:v1
9.docker inspect docker inspect [镜像名]|[镜像ID] // 查看镜像分层
10.docker exec // 进入容器内 执行一些脚本 eg: //查看ip ip addr # 本机查看网卡 docker exec【镜像】 ip addr # 容器查看网卡
// 执行shell // 查看文件列表 docker exec -it 【镜像ID】 sh ls
pwd
:/tmp python:alpine sh12.删除 docker rmi 镜像名:版本号
yum install -y https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el8.x86_64.rpm
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce
# 配置
7.执行镜像加速器操作: 镜像来自于 阿里云 容器镜像服务 镜像加速器
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
# 设置网络代理
# 默认没有这些文件 要先创建
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
vi /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy.nioint.com:8080/"
Environment="HTTPS_PROXY=http://proxy.nioint.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1"
systemctl start docker.service
systemctl enable docker.service
# 安装node-red
// 拉取镜像
docker pull nodered/node-red
// 查看镜像列表
docker images
// 想查看所有容器
docker ps -a
// 增加权限 更改宿主机上数据卷的权限:
chmod -R 777 /node-red
// 运行 镜像 将宿主机 目录 /node-red 映射到 容器的 /data目录
docker run -it --network host -v /node-red:/data -d --name node-red-f2 nodered/node-red:latest
// 进入容器设置npm 代理
docker exec -it【镜像ID】 sh
# 设置代理
1.设置npm镜像源
npm config set registry https://npmmirror.nioint.com/
// npm config set registry https://registry.npm.taobao.org/
2. 设置npm 代理
npm config set proxy http://proxy.nioint.com:8080
npm config set https-proxy http://proxy.nioint.com:8080
export http_proxy=http://proxy.nioint.com:8080
export https_proxy=http://proxy.nioint.com:8080
3 npm install 依赖项目
npm install xx --registory=https://registry.npm.taobao.org/
node-red-contrib-influxdb
node-red-contrib-aedes // mqtt server
// 如果安装报错 是签名错误
//手动关闭 签名:
npm config set strict-ssl false
// 安装依赖 成功后 再手动开启
npm config set strict-ssl true
//项目管理
https://nodered.org/docs/user-guide/projects/
1880
4.防止服务挂 重启
docker run -d --restart=always 【容器ID】
5.在已经run的服务设置自动重启
docker update --restart=always 【容器ID】
6.电脑重启 跑 docker:
systemctl enable docker.service
Docker