docker容器

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

docker容器的相关操作

操作容器命令格式docker 命令【选项】
1、查看docker引擎中运行有哪些容器

	docker ps  
	docker ps -a  包含停止的容器
	docker ps -q  查看容器的id

	(容器id)  (基于那个镜像运行(容器内启动的命令  (容器创建时间     (容器当前的状态(容器内服务监听的端口(容器名称
	CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS   			NAMES
	d7bececae0e2   tomcat      "catalina.sh run"   46 seconds ago   Up 45 seconds   8080/tcp   		vibrant_rubin

2、如何运行一个容器

	docker run 镜像名 / 镜像id
	
	简单运行docker run tomcat:8.0 
	跑在自己的操作系统 外界根本访问不到。

	运行tomcat容器同时设置容器与宿主机(dokcer引擎所安装的这个机器就是linux机器端口的映射关系   -p   建立映射
	
	docker run -p 8080(宿主机: 8080  tomcat:8.0
	
	这是再去访问宿主机的8080端口就会直接去访问容器的8080端口。可以映射多个端口
	访问		192.169.1.29:8080  就会跳出tomcat的页面
	docker在启动服务时他会把这个8080端口利用防火墙加入到防火墙的开放的列表端口里边。不需要关闭网络防火墙

在这里插入图片描述
这个ports 前边代表的是宿主机的8080端口映射到 容器内部的 8080端口可以映射多个端口
docker run -p 8081: 8080 tomcat:8.0
docker run -p 8082: 8080 tomcat:8.0
docker run -p 8083: 8080 tomcat:8.0
3、运行tomcat开放映射端口后台启动服务 -d 已守护进程使用

	docker run -p 8080:8080 -d tomcat:8.0

4、运行tomcat容器开放端口映射后台启动改服务指定容器名称 --name [容器名称]

	docker -d -p 8080:8080 --name tomcat01 tomcat:8.0		

5、停止、重启、暂停、恢复容器

	docker stop     容器id/名称     停止
	docker restart  容器id/名称	   重启
	docker start    容器id/名称     启动
	docker pause    容器id/名称     暂停
	docker unpause  容器id/名称     恢复恢复暂停的容器

6、删除容器

	docker rm 容器id/名称      只能删除已经停止的容器
	docker rm -f  容器id/名称  强制删除无论容器在运行也可以运行
	docker rm -f $(docker ps -qa)  删除所有的容器

7、查看容器内部日志

	docker logs 容器id/名称
	docker logs -f 容器id/名称		-f 实时的显示容器日志
	docker logs -f -t 容器id/名称		-t 显示时间

8、进入容器内部

	docker exec(代表执行的意思) -it(交互模式)  容器id/name  bash 
	exit   退出容器

9、容器与宿主机操作系统之间的文件拷贝

	a、如何将容器内部中指定的文件和目录拷贝到宿主机
	docker cp 容器id:容器中的文件或目录  宿主机的目录
	docker cp b847:/usr/local/tomcat/RUNNING.txt /root   将b847容器内部的路径下文件拷贝到 root目录下

	b、如何将宿主机的指定目录和文件拷贝到容器内
	docker cp   宿主机的目录  容器id:容器中的文件或目录

10、查看容器内运行指令

	查看容器内部运行进程
	docker top 容器id/name

	查看容器内部细节指令
	docker inspect 容器id/name

11、容器数据卷机制 Volume

	数据卷 Data volume 
	作用用来实现容器中数据和宿主机中数据进行映射的相互同步对于容器中某个目录的改变会直接影响到宿主机中某个目录的改变任何一个有变化都会相互同步
	注意事项数据卷的使用必须在容器首次启动时设置
	使用docker run -v 宿主机目录:容器内目录  -v 宿主机目录:容器内目录 .....    可以设置多个
		
		使用绝对路径设置数据卷
		docker run -v 宿主机绝对路径:容器内路径:ro ....
		docker run -d -p 8081:8080 --name tomcat01 -v /root/apps/:/usr/local/tomcat/webapps:ro tomcat:8.0
			将宿主机的/root/apps/目录与容器内部路径/usr/local/tomcat/webapps 相互同步
			roreadyonly 如果在设置数据卷时指定ro代表日后容器内部路径是只读的,容器内部的文件无法修改
		注意这种方式会将容器路径的原始内容全部清空始终以宿主机的路径为主
		
		使用别名的方式设置数据卷
		docker run -v aaaa:/usr/local/tomcat/webapps ....
		docker run-d -p 8082:8080 --name tomcat03 -v aaaa:/usr/local/tomcat/webapps tomcat:8.0
			aaaa代表docker数据卷中别名这个别名如果存在docker直接使用不存在自动创建
			     使用别名方式会保留容器内路径的的原始内容前提是别名路径不能存在内容
			     
	    docker根据别名创建的目录默认在		/var/lib/docker/volumes/

12、将容器打包成一个新的镜像 commit

	将正在运行的容器打包成一个镜像。基于容器直接构建的下次不需要在部署直接启动镜像就是一个项目。

	容器是可读可写的基于这个特性 我们就可以对容器进行自己的深度定制将修改的容器打包成一个新的镜像日后基于这个镜像运行成容器存在原始定制特性

	commit用来把容器提交成一个新的镜像
	docker commit -m "描述信息”-a"作者信息” (容器id或者名称) 打包的镜像名称: 标签

13、镜像的备份和恢复

	镜像备份docker save 镜像名Tag  -o  xxx.tar
			docker save tomcat:80 -o tomcat-8.0.tar
			
    镜像还原docker load -i tomcat-8.0.tar
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Docker
返回列表

上一篇:[oeasy]python0052

下一篇:JAVA练习23