Docker 常用命令
文章目录
1.概念
Docker是一个能够帮助我们快速部署应用的工具,它为我们省去了在安装一些应用时复杂的配置步骤。
它的工作流程如下:
当我们在本地利用Docker安装应用时,Docker就会从镜像仓库(Docker官方维护)自动搜索并下载我们需要的应用镜像(image),这些镜像不仅包含了应用本身,同时也包含了应用运行时所需要的环境、配置与系统函数库。下载完镜像后并运行它,这时Docker会创建一个隔离环境,称为容器(container),一个镜像可以有多个容器,每个容器之间互相隔离,都相当于独立的进程,且容器与本地环境隔离开来,互不干扰,相当于每个容器都有自己的系统环境
2. 常用命令
2.1 docker run
我们需要利用docker安装应用镜像,最常用的就是这条命令:
docker run -d --name <容器名> -p <宿主机端口>:<容器内端口> -e <环境变量> <指定镜像名>
其中:
- docker run:创建并运行一个容器,若容器存在则运行该容器
- -d:使容器在后台运行
- –name:后面跟容器名,可自定义,但必须唯一
- -p:指定端口映射,
:
前面为宿主机端口号,因为容器与宿主机是环境隔离的,需要通过宿主机端口号映射到容器内的端口号 - -e:设置环境变量,如时区,密码之类
- 最后指定运行的镜像名称,它一般分为两部分:
[repository]:[tag]
- repository:镜像名称
- tag:镜像的版本
- 在没指定tag时,默认是latest,代表最新版本的镜像
举个栗子🌰
安装mysql镜像,命令如下:
docker run -d --name mysql1 -p 3307:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=12345 mysql
此时mysql镜像就安装好了,并且端口号和密码等配置也设置完毕,此时测试连接这个数据库:
可以看到刚刚通过docker安装好的mysql已经可以连接上了(注:若使用云服务器连接的端口号记得开放)
2.2 docker pull
docker pull
作用:从镜像仓库中拉取镜像,注:与docker run不同,这里只是拉取镜像而没有创建镜像容器
举个栗子🌰
拉取nginx镜像:
2.3 docker images
docker images
作用:查看本地镜像列表
2.4 docker save
docker save -o [文件名.文件格式] [镜像]:[版本]
作用:将镜像文件保存为本地镜像包,后面可通过该包直接加载镜像
举个栗子🌰
将nginx保存为本地镜像包:
docker save -o nginx.tar nginx:latest
2.5 docker rmi
docker rmi [镜像]:[版本]
作用:删除本地镜像
举个栗子🌰
删除nginx镜像:
docker rmi nginx:latest
2.6 docker load
docker load -i <文件名>
作用:加载指定文件为本地镜像
举个栗子🌰
加载刚刚保存到本地的nginx.tar文件,重新获取nginx镜像:
docker load -i nginx.tar
2.7 docker ps
docker ps
作用:查看容器状态
举个栗子🌰
创建并启动nginx容器并查看容器状态:
注:docker ps查看的只有运行中的容器,如果想查看所有容器可以在后面加上-a:
docker ps -a
2.8 docker stop
docker stop <容器名>
作用:停止指定容器
举个栗子🌰
停止nginx容器:
2.9 docker start
docker start <容器名>
作用:运行指定容器
举个栗子🌰
运行nginx容器:
2.10 docker logs
docker logs -f <容器名>
作用:查看指定容器的运行日志,-f
表示持续跟踪
2.11 docker exec
docker exec -it <容器名> bash
作用:进入容器内部并以命令行方式进行操作
如图中所示,容器内部有自己独立的内存与文件系统,能够进行命令操作
2.12 docker rm
docker rm <容器名>
作用:删除容器
注:容器需要停止运行后才能删除,否则需要在命令后加上-f
来强制删除
以上便是对Docker常用命令的介绍了!!如果内容对大家有帮助的话请给这篇文章一个三连关注吧💕( •̀ ω •́ )✧( •̀ ω •́ )✧✨