docker命令

官方网站:hub.docker.com

Docker 是一个开源的应用容器引擎,但是说白了就是一个Linux上的虚拟机
概念:快速的部署我们的应用程序,比如war包,tomcat
镜像:你安装的操作系统就是镜像,还没有安装的操作系统的包
容器:操作系统被开机启动后就叫容器
Docker的中央仓库:hub.docker.com

配置Docker中国区官方镜像
  使用vi修改 /etc/docker/daemon.json 文件并添加上”registry-mirrors”: [“https://registry.docker-cn.com“],如下:
vi /etc/docker/daemon.json 
{ 
“registry-mirrors”: [“https://registry.docker-cn.com“] //框代表可以配多个
}
加载完重载一下 systemctl daemon-reload



yum -y install docker		安装
service docker start		启动
service docker restart		重启
chkconfig docker on		开机启动

docker images			查看下载的镜像
docker search 镜像名		搜索镜像
docker rmi 镜像ID		删除镜像(删除前确定该镜像下没有容器)
docker pull 镜像名(docker.io/可以省略)		在服务器上将这个镜像下载


docker run centos 			创建一个容器(如果容器里无任务程序,将自动关机)
docker run -it centos /bin/bash   	创建一个容器并进入
docker run --name mycentos -it centos	创建一个容器,给它赋予一个名字:mycentos,并进入

docker ps -a 					显示所有正在运行或者停止的容器  每个容器都存在一个唯一id  
docker inspect 容器ID或容器名字 | grep IP	查看容器的ip地址(首先要检查容器是否启动,不启动是查看不到ip的)
docker start 容器ID|容器名字			启动容器(使用start启动后,容器是不会自动关闭的)
docker stop 容器ID|容器名字			关闭一个容器
docker exec -it 容器ID|容器名字 /bin/bash 	进入容器(要先确认容器是在线状态)
docker rm 容器ID|容器名字			删除一个容器
docker rm -f 容器ID|容器名字			强制删除一个容器
culr http://ip地址 				在linux访问网址

docker run -it -v /a:/a centos			创建一个容器并且将主机/a目录共享给容器的/a目录,centos是指定镜像
然后到容器里面查看a目录下的文件,会报下面这个错
ls: cannot open directory .: Permission denied		// 没有权限访问



--name:给运行的容器指定一个名称
-t:伪中断,不让操作系统退出
-i:输入流,进入操作系统
-d:表示启动容器直接进入后台模式  daemon  一般如果容器中没有任何程序进程 一般直接退出(-d启动的容器使用exit退出时,容器不会关闭)
-p:端口映射

docker exec -it -d 56fb29cfcf01 /bin/bash 		// 进入容器后发现没有任何程序进程,直接退出,在后台运行





如果用yum安装的,也可以拿yum remove卸载,比如:rz

先查看rz的名字:yum search rz
	会找到一个lrzsz,这个就是他的名字
然后:yum remove -y lrzsz就可以卸载了


卸载Linux上的nginx
1.nginx -s stop 
2.还原nginx的配置



docker安装nginx
1.进入中央仓库搜索nginx
2.进入第一个nginx


docker search nginx				// 搜索
docker pull nginx				// 下载


端口映射:docker run --name mynginx -v /mynginxs:/usr/share/nginx/html:rw -d -p 8008:80 nginx	
// 创建一个名字是mynginx在后台运行并且指定容器的html文件路径与主机的/mynginx路径共享,rw就是赋予nginx对于共享文件的读的写的权限
并且将Linux的8080端口和docker容器的端口共享

仅主机模式:docker run --net host --name mynginx -v /mynginxs:/usr/share/nginx/html:rw -d nginx
docker容器和Linux共享一个网络,包括ip和端口,但是不共享目录
这样访问html里面的文件是,直接以80端口(默认80端口)访问就行了

find / -name 名字:				// 全局搜索nginx的目录
docker cp 容器名|容器ID:/etc/nginx/conf.d/default.conf /
// 将指定容器的路径拷贝到主机的/目录下

当有80端口存在时,就表示nginx已启动



安装mysql,应该安装mysql-server

安装redis,应该安装redis ,redis端口:6379




安装mariadb,应该安装mariadb
1.docker search mariadb		
2.docker pull mariadb	
3.docker run --net host -v /opt/docker_mariadb_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=ps123456 -e MYSQL_ROOT_HOST=% --name mymariadb -d mariadb
4.docker start mymariadb
5.systemctl enable mariadb	// 设置开机启动,可以写可以不写


docker run --net host -v /opt/docker_mariadb_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=ps123456 -e MYSQL_ROOT_HOST=% --name mymariadb -d --restart 

unless-stopped docker.io/mariadb:latest 

docker run --net host --name myredis -v /opt/redis_data:/data redis-server --appendonly yes

docker run -it -v /文件名:/容器中文件名 镜像名  //将宿主机的文件映射到docker容器中

find / -name 文件名  //搜索目录(从根目录下一层层搜索)
docker cp 容器名:/etc/nginx/conf.d/default.conf /(根目录)  //拷贝文件 

netstat -aon | grep 端口号  		// 查看端口是否被占用
netstat -nlp| grep 端口号   		// 查看端口的进程编号
kill -9 进程编号  			// 强制结束当前进程
docker commit 镜像名 自定义名:版本号    // 自定义镜像
docker save 镜像名 -o 文件名(如果文件不存在则自动创建文件) //以文件形式保存自定义镜像
docker load -i 镜像名  			// 重新加载镜像文件

使用dockerfile生成镜像:
新建文件 : Dockerfile
文件内容 : 
FROM 镜像名(tomcat)
COPY ./(代表当前文件) /架包.war /usr/local/镜像名(tomcat)/webapps

执行命令:docker build -t tomcat:版本号



启动mariadb实例
docker run --net host --name mariadb -e MYSQL_ROOT_PASSWORD=123456 -d mariadb:5.5.60 

启动redis实例
docker run --net host --name redis -d redis:4

启动Tomcat实例
docker run --net host --name tomcat -itd tomcat

启动nginx实例(两种方式)
1、docker run --name mynginx -v /mynginx:/usr/share/nginx/html:rw -d -p 8888:80 nginx
2、docker run --net host --name mynginx -v /mynginx:/usr/share/nginx/html:rw -d nginx (相当于直接启动了一个nginx)
  
使用maven远程连接docker
vi /usr/lib/systemd/system/docker.service
-H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock \
systemctl daemon-reload
service docker restart












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测试面试题软件测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值