docker常用命令大全(纯干货)
docker最常用命令
1.docker 或 docker --help #查看docker自带的帮助信息(里面内容对初学者十分不友好)
启动类命令
systemctl start docker #启动docker
systemctl stop docker #停止docker
systemctl restart docker #重启docker
systemctl status docker #查看docker状态
systemctl enable docker #将docker设为开机自启动
3.docker info #查看docker的各种信息,包括版本信息、镜像和容器数量等
4.docker version #查看docker版本信息
5.docker images #查看本地主机上已有的镜像
常用命令
下载镜像(拉取镜像)
docker pull 想要下载的镜像名 #如果本地没有该镜像,则可以通过docker pull 命令去docker仓库下载该镜像
如我想获取一个本地没有的ubutu的镜像
docker pull ubuntu
此时可通过 docker images 查看刚刚下载完的镜像信息
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
注意:如果镜像后面不加TAG,默认使用latest的镜像
搜索镜像
docker serach 镜像名称
如我想搜索Hadoop的镜像信息 docker search hadoop
参数说明:
NAME:镜像名称
DESCRIPTION:镜像说明
STARS:点赞数量
OFFICIAL:是否是官方的
AUTOMATED:是否自动构建的
启动容器
docker run [命令选项(有的是一个减号,有的是两个减号)] 镜像名 执行命令
如: docker run -it ubuntu /bin/bash
使用Ubuntu的镜像来启动一个容器,并有交互式 Shell,因此用的是 /bin/bash,如果要退出控制台,输入 exit即可退出
[OPTIONS]命令选项说明
–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);
-P: 随主机端口映射,大写P
-p: 指定端口映射,小写p
查看docker进程
docker ps [OPTION]
参数说明:
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器
-n:显示最近n个创建的容器
-q :静默模式,只显示容器编号
启动一个已经停止了的容器
docker ps -a #查看之前启动过的容器名称
docker restart 容器名称或容器ID(如果容器较少,id不用全部写完)
docker start 容器名称或容器ID #启动已经停止了的容器
docker start objective_wing #启动名称为objective_wing的容器
停止一个正在运行的容器
docker stop 容器名称或容器ID
docker ps -a
docker stop 容器名称或ID(如果容器较少,id不用全部写完)
重新进入一个正在运行的容器
docker attach 容器名称或容器ID
- attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
- exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。
docker exec [OPTIONS] 执行命令
注意:进入某一个容器,这个容器必须是存活状态的容器,不能进入一个停止的容器。
删除容器
docker rm 容器ID
docker logs 容器ID #查看容器日志
docker top 容器ID #查看容器内部进程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BVQSzf9S-1678270932595)(C:\Users\79924\AppData\Roaming\Typora\typora-user-images\image-20230308164643486.png)]
导入和导出容器
导出容器
docker export 容器ID > 文件名
如:docker export 97 > ubuntu.tar.gz
导入容器
cat 文件名 | docker import - 镜像用户/镜像名:镜像版本号(镜像用户和版本号可以不写)
cat test.tar.gz | docker import - ubuntu2
删除镜像
docker image rm 镜像名 # 删除1个镜像
docker image rm 镜像名 镜像名 #删除多个镜像
利用docker运行一个简单的web应用
之前都是一些对docker容器的基本操作,现在可以通过上述命令在docker容器中运行一个Python Flask应用来运行一个web应用
1.从docker仓库中拉取镜像
docker pull training/webapp
2.启动镜像
docker run -d -P training/webapp python app.py
参数说明:
-d:让容器在后台运行
-P:将容器内部使用的网络端口随机映射到我们使用的主机上
(如果不想通过主机端口可以使用小写p指定端口,如想指定主机端口号为5001则输入以下命令:docker run -dp 5001:5000 training/webapp python app.py)
3.查看容器信息
docker ps
可以发现此时查看的信息比之前多了一个PORTS的端口信息项,此时docker开放了5000 端口(默认 Python Flask 端口)映射到主机端口 32768 上
4.通过浏览器访问web应用
在浏览器中输入虚拟机的IP地址:32768 访问
还可以通过 docker port 容器ID 来查看端口的映射情况
docker port e4b
此时,便通过docker完成了一个简单的web部署!
版权归原作者 喜欢水星记 所有, 如有侵权,请联系我们删除。