Docker 任务。2022年08月07

 

 

 

安装步骤

安装Docker前,先安装Yum

sudo apt-get install yum  安装yum

 yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

 查看仓库中的docker版本
yum list docker-ce --showduplicates | sort -r
安装docker
yum install -y docker-ce


启动
systemctl start docker
加入开机启动
systemctl enable docker
验证是否安装成功
docker version

 

 Ubuntu安装docker

 

ubuntu 安装docker

一、安装docker

1、安装docker:sudo apt-get install -y docker.io

2、启动docker服务:systemctl start docker

3、设置开机启动:systemctl enable docker

4、查看docker状态:systemctl status docker

5、停止docker服务:systemctl stop docker

6、查看docker版本:docker version

 镜像就相对于一个安装文件,容器相当于镜像中的应用,一个镜像中可以跑多个容器。

 

 查看都有哪些镜像

docker images

 可以自己打镜像,也可以用官方的镜像。

 

启动某一个镜像

 查看当前有哪些活动的容器 docker ps

 

 查看进程 ps -ef

查看是什么操作系统 cat /etc/*release

 退出 进入的容器 ctrl P  后 ctrl q

 docker inspect ubuntu   查看建好容器的信息

docker ps 当前活动的容器。

docker ps -a      当前活动的不活动的一起看。

安装后的容器进行卸载

 系统自带的容器 hello world

docker search hello
 

 抓取 官方的 hello-world 镜像。

步骤1.拖镜像 步骤2 . 跑容器。

0.查看抓过哪些容器 docker images

0. docker search centos

1. docker pull centos

2.docker run -itd --name miaosha -p 7080:7080 

 正在抓取 centos

docker pull hello-world

 把官方的镜像,里面添加一些东西,然后打成自己的镜像

docer run -itd --name=server_

从网上拖下来的容器如下:

 官方的java + 自己的项目,打成一个镜像,然后运行容器。

 

 

 

 UP 说明已经跑起来了

 

创建容器并且让它运行、进入容器里面。

 举一个面向对象编程的例子,镜像就是一个类,而容器就是这个类的某一个实例,镜像是容器的模版,是静态的,而容器是运行时动态的。理清这个概念之后,我们就可以着手构建镜像了,而我们部署只需要从这个镜像生成一个新的容器就可以了。

docker run -itd --name=server_setup ubuntu /bin/bash
docker run -itd --name=jinx ubuntu /bin/bash    构建容器并运行起来
docker images 查看镜像
docker ps 查看运行的容器

Docker 主要有两种方式构建镜像,

第一种是从一个镜像开始,手动进行各种操作,然后提交,构建镜像,类似于操作完成后使用 Git 提交构建一个新的镜像。

docker commit f1abb18b88cd server_img

 第二种是使用一个构建脚本(Dockerfile)自动打包成新的镜像。这两种方式各有应用场景,第一种适用于自己试验或尝试一些新想法,属于手动型,而第二种则属于自动构建,便于构建自动化 DevOps 及版本控制,文本就介绍使用 Dockerfile 构建镜像的方法。

 颜大哥作业如下:

退出容器,可使用 ctrl-p 再 ctrl-q

 

2022年8月16日星期二 心田老师

沙箱机制

 

 

镜像就是对象,容器就是new的对象

 

 docker安装到哪里,哪里就是宿主机。

tomcat 下载到本机

 

 启动容器

 

删除容器2种方式

 全删

docker rm -f $(docker ps -a -q)

 

 全部启动容器,但是容器间没有关联。

 

 端口映射  宿主机端口 不冲突

 改端口文件 conf/server.xml

/p /v 挂载。

 7070是映射端口  ,8080是固定端口,

 

 

 

所有容器都有默认端口 tomcat8080 ,mysql 3306,redis xxx

 

 

 link 关联其它容器 mysql mq redis

 

 

 下节课 dockerfile

安装V6的 不要V5的 

借助目录挂载  link 同步项目war包到 容器中,因为Xftp是传到了服务器--服务器到容器需要用到挂载技术。

笔记在云盘

2022年8月20日星期六

 查看容器详情 docker inspect mysql

查看容器日志 docker logs -f

 

 镜像地址 portainner

1.创建镜像。 2.来容器、创建容器、3.运行容器。

docker run -id  --name xtPortainer -p 9008:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock  portainer/portainer

Docker 容器Web管理平台

http://192.168.88.140:9000/#!/init/admin   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如何自己创建镜像????

 

什么事 dockerfile? 就是自己打镜像。

1.新建 Dockerfile  大小写不要修改

2.文件里面些Dockerfile语法

3.执行这个文件

4.查看镜像是否生成

5.创建容器

 

 

 

 

 

80%的项目是jar包 

 

 

 

 真正运行的是容器里面的jar包。

 宿主机-    容器     -jar包(三层关系)

创建 DockerFile 文件

 

一般项目部放到usr/local 目录下面

 

 执行打镜像指令, DockerFile文件里面定义的 镜像的名称 sq-mail

如何写DockerFile总结:如下6步骤

 运行容器

启动容器命令
docker run -itd --name=server_setup ubuntu /bin/bash
docker run -itd --name=jinx ubuntu /bin/bash    构建容器并运行起来

docker run -itd --name=tomcatjinx tomcat /bin/bash
docker images 查看镜像
docker ps 查看运行的容器

 容器web管理平台

portainer.io 用户名 admin 密码 admin

 

容器的迁移

镜像迁移 与 容器的迁移。

操作流程:

1.容器打包成镜像  docker commit -m sq 镜像名

2.镜像导出成一个tar文件格式 docker save -o sq.tar sq 镜像名

3.xftp 工具传入

4.导入镜像 docker load -i sq.tar

 

 

 MD5 加密

 

 

 

 

 

 

 

 Docker第三次课 8月20日星期六。

 cpu使用率高 用户级别+系统级别,cpu利用率怎么看?

100-ID = 80%的CPU使用率

Top命令

us 

sy 

wa 

si

 

1. 哪一个进程占用的多?

2.哪一个方向高

 负载是什么?进程数。

 

负载高 ,但是CPU利用率低,说明IO磁盘操作进程过多。

 

 

grafana

 

查看线程

ps -ef |grep java

top -H -p 2976  #查看线程

 

 

 free -m 查看内存 m表示mb  兆

总的 - 用过的=剩余的内存

Swap交换机空间(虚拟内存)

内存降不下(没有释放)就是内存溢出。

 

需要在结束后观察cpu和内存是否基本恢复到压测前的样子?内存没恢复有可能是泄露了?

cpu不释放会有啥原因呢?进程秩序运行

20220825 星期二。

 

 

 

 ping 

ifconfig

tcping

netstat -tpln 查看端口是否倍占用

 

TPS 服务器每秒处理事务数
三个方向查看问题:客户端问题、网络传输问题、服务器处理问题(服务器资源情况cpu 内存...问题)。

KB 字节单位

 

 

 

 

cd usr/local 

/usr/local/nmon 目录下启动如下文件 ./

 

按 c  cpu

按m 内存

按 d  网络

 

点击下图,导入生成的文件。

 

课程34 下半节课

 

 

 RT 小于3秒钟

 

 loadrunner  最便宜14万 ,最贵80万

 20220827 星期六 搭建 Prometheus + Grafana

一个优秀的监控平台最重要的

1.准确性

2.高可视化

3.关联性 : 发邮件、发警告

4.运维能力:对比历史数据

 

 1.采集器 

 2.存储器

解决安装 grafana 和 prometheus 不成功下载问题如下:

 重新启动docker  :   

sudo systemctl restart docker

mysql没有启动起来容器,解决办法:如下

杀掉所有mysql的进程后可以重启启动成功。 

ps -ef|grep mysqld  , 查看有哪些进程。

kill -9 进程号 ,通过该命令杀掉下面的进程后重启启动mysql容器。

kill -9 7234

重启指定容器。

 docker start 容器名称或者容器id

Warning: Error fetching server time: Detected 481.9449999332428 seconds time difference between your解决方法:

在服务器输入命令:ntpdate ntp.aliyun.com 同步时间即可正常~

 

 导入cpu模板

 

 

 

 

 

 

 修改连接数

 

 

 进入redis容器命令行

 

 

 java 项目里面的配置文件修改连接数

 

 查看进程里面的线程情况

 

 

 查看网络情况 sar -n DEV 1

 查看日志

 接口调用函数

 网卡情况

课程第35次

 

 

 接口文档 密码 :群公告里面 songqin

进入容器查看 

docker exec -it redis /bin/bash

redis-cli -a sq

information

CONFIG get maxclients

 

 [root@localhost ~]# history --查看历史操作命令

 top -H -p 40680 ----查看线程

 查看网络情况 sar -n DEV 1

 [root@localhost ~]# cat /proc/interrupts

8月30日星期二

 

 

悲观锁:不过怎么样都要锁

 select * from  sq_001 where id = 100 lock in share model;

乐观锁:根据数据库的变化程度,判断是否加锁。

 

 

top -H  -p pid  #查看线程

 

 top -H -p 36087

docker exec -it 容器id /bin/sh 

jstack 7  查看栈信息

 

 more 指令查找。

9月1日星期四

9月3日星期六

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值