Docker常用命令

一、Docker简介和安装

  1. docker的镜像仓库:hub.docker.com
  2. 命令参考:https://docs.docker.com/engine/reference/commandline/run/
  3. Docker是一个应用打包、分发和部署的工具
  • 打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
  • 分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
  • 部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一模一样的运行环境,不管是在windows/Mac/linux

二、目录挂载

  1. bind mount直接把宿主机目录映射到容器内,适合挂代码和配置文件,可挂到多个容器上
  • 使用绝对路径:-v D:/code:/app
  1. volume由容器创建和管理,创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,linux文件系统,适合存储数据库数据,可挂到多个容器上
  • 使用一个名字:-v db-data:/app
  1. tmpfs mount适合存储临时文件,存储主机内存中,不可多容器共享

三、镜像的基本命令

1.帮助命令

docker version		#显示docker的版本信息
docker info			#显示docker的系统信息,包括镜像和容器的数量
docker	命令	--help	#帮助命令

2.镜像命令

docker images		#查看所有本地的主机上的镜像

#可选项:
-a,  --all			#列出所有镜像
-q,	 --quiet		#只显示镜像的id
docker search		#搜索镜像

#可选项:
--filter=STARS=3000		#搜索出STARS大于3000的镜像
docker pull 镜像名[:tag](版本信息,默认为最新版)			#下载镜像
docker rmi		#删除镜像

docker rmi -f 镜像id		#删除指定的容器
docker rmi -f 镜像id 镜像id 镜像id		#删除多个容器,通过空格连接
docker rmi -f $(docker images -aq)		#删除所有的容器

四、容器命令

1.新建容器并启动

docker run [可选参数] image

#参数说明
--name="Name"		#容器名字,用来区分容器
-d					#以后台方式运行
-it					#使用交互方式运行,进入容器查看内容
-p					#指定容器的端口	-p	8080:8080
		-p	ip:主机端口:容器端口
		-p	主机端口:容器端口(常用)
		-p	容器端口
		容器端口
		
-P(大写P)			 #随机指定端口

2.列出所有运行的容器

docker ps

#可选项:
-a		#列出当前正在运行的容器+历史运行过的容器
-n=?	#显示最近创建的容器
-q		#只显示容器的id

3.退出容器

exit		#容器停止并退出
Ctrl + P + Q(快捷键)		#容器不停止退出

4.删除容器

docker rm 容器id		#删除指定的容器,不能删除正在运行的容器,如果要全部删除 rm -f
docker rm -f $(docker ps -aq)		#删除所有的容器
docker ps -a -q|xargs docker rm		#删除所有的容器

5.启动和停止容器的操作

docker start 容器id	 #启动容器
docker restart 容器id	 #重新启动容器
docker stop 容器id	 #停止当前运行的容器
docker kill 容器id	 #强制停止当前运行的容器

五.常用其他命令

1.后台启动容器

命令 docker run -d 镜像名

#问题:docker ps,发现停止了
#常见的坑:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止

2.查看日志命令

docker logs -t -f --tail

#可选项:
-tf				#显示日志,显示时间戳
--tail number	#要显示的日志条数

3.查看容器中进程信息

docker top 容器id

4.查看镜像源数据

docker inspect 容器id

5.进入当前正在运行的容器

#我们通常的容器都是使用后台方式运行的,需要进入容器,修改一些配置

#方式一:
docker exec -it 容器id bashshell		#进入容器后开启一个新的终端,可以在里面操作(常用)
#方式二:
docker attach 容器id					#进入容器正在执行的终端,不会启动新的进程

6.从容器内拷贝文件到主机

docker cp 容器id:容器内路径  目的主机路径

六、简单搭建环境

  1. docker 查看命令
  2. docker search metasploit 寻找镜像
  3. docker pull metasploitxxx 拉取镜像
  4. docker images 查看已获取镜像
  5. docker run -rm -it -p 80:80 matasploitxxx /bin/bash 创建容器
  6. docker ps 查看当前运行的容器
  7. docker stop ID/名字 停止容器运行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值