Docker常用命令

说明:Docker常用的命令分以下四部分,对于开发人员,掌握这些命令就基本够用。

基础命令

(1)docker服务相关命令

# 启动docker服务
systemctl start docker  

# 停止docker服务
systemctl stop docker  

# 重启docker服务
systemctl restart docker  

Docker常用命令_第1张图片

(2)防火墙相关命令

# 关闭防火墙
systemctl stop firewalld

# 禁止开机启动防火墙
systemctl disable firewalld

# 查看防火墙状态
systemctl status firewalld

Docker常用命令_第2张图片

镜像相关操作

(1)拉取镜像

如redis,不加版本默认为最新版;

docker pull 镜像名:版本

(2)查看镜像

docker iamges

注意这里的版本,不是应用的版本,而是镜像的版本,所以拉取镜像前,应先去dockerHub(https://hub.docker.com/)上查看对应应用的镜像版本,再拉取自己需要的版本;

Docker常用命令_第3张图片

(3)打包镜像

注意不要使用imageID代替镜像名,不然后面加载该镜像会丢失镜像的名称、版本信息;

docker save -o 包名.tar 镜像名:版本

如果说拉取镜像是安装应用,那么打包镜像,就相当于根据应用生成安装包;

Docker常用命令_第4张图片

(4)删除镜像

如redis;

docker rmi 镜像名:版本

Docker常用命令_第5张图片

(5)强制删除镜像(方式一)

docker rmi -f 镜像名:版本

Docker常用命令_第6张图片

(6)强制删除镜像(方式二)

docker rmi -f 镜像ID

当然,普通删除,也可以使用镜像ID的方式

Docker常用命令_第7张图片

(7)加载镜像

docker load -i 镜像包名.tar

Docker常用命令_第8张图片

容器相关命令

(1)运行容器

创建容器并运行,如redis;

docker run --name 容器名 -p 主机端口:容器端口 -d 镜像名称

在这里插入图片描述

其中,

  • docker run:表示创建并运行一个容器;

  • –name:给容器取名;

  • -p:将宿主机端口与容器端口映射,左边是主机端口,右边是容器端口;

  • -d:后台运行;

(2)查看运行容器信息

docker ps

注意,此命令只能查看运行中的容器信息

在这里插入图片描述

(3)停止容器

docker stop 容器名

(4)查看所有容器信息

docker ps -a

Docker常用命令_第9张图片

(5)启动容器

docker start 容器ID/容器名

Docker常用命令_第10张图片

(6)删除指定容器

docker rm 容器ID/容器名

如删除容器名为rc的容器;

Docker常用命令_第11张图片

(7)查看容器运行日志

docker logs 镜像名

创建nginx容器,并启动,在公网IP上访问,查看前后的日志信息;
Docker常用命令_第12张图片

访问页面后,再查看日志信息,有新增信息;

Docker常用命令_第13张图片

(8)实时监控容器运行日志

查看nginx实时的日志信息

docker logs -f 镜像名

此时,日志信息会实时更新,按ctrl + c可退出

Docker常用命令_第14张图片

(9)进入容器命令

如进入前面创建的nginx容器

docker exec -it 容器名 bash

其中,

  • exec:进入容器内部;

  • -it:创建标准输入、输出终端;

  • bash:liunx终端交互命令;

修改Welcome to nginx,为Hello Docker;

Docker常用命令_第15张图片


Docker常用命令_第16张图片

(10)创建Redis容器并进入

创建redis容器

docker run --name rc -p 6379:6379 -d redis redis-server --appendonly yes

进入redis容器

docker exec -it rc bash

打开redis客户端

redis-cli

设置键值对并获取

set name hzy

get hzy

Docker常用命令_第17张图片

操作数据卷命令

数据卷是在Linux系统内创建一个文件(volumn),关联(称为挂载)到容器内应用的文件,这样做有两点好处:

  • 不需要进入到容器内部修改应用的配置文件;

  • 可以使多个容器关联到同一个文件,共享应用配置;

(1)创建volume

创建一个volume,挂载nginx中的html文件夹

docker volume create 数据卷

(2)显示volume信息

docker volume ls

Docker常用命令_第18张图片

(3)查看指定数据卷

docker volume inspect volume名

Mountpoint后面的路径,指容器中的目录数据挂载在这个路径下

Docker常用命令_第19张图片

(4)挂载数据卷到容器内目录

启动容器,并挂载数据卷,如nginx应用

docker run --name 容器名 -v 数据卷:容器内文件路径 -d -p 主机端口:容器端口 镜像名

Docker常用命令_第20张图片

此时,对数据卷中的文件修改,容器中的文件也会同步修改;

Docker常用命令_第21张图片

另开一个容器,挂载相同的数据卷,可以共享修改;
在这里插入图片描述
Docker常用命令_第22张图片

注意,挂载也可以不经数据卷,直接和目录挂载。但不推荐这种方式,因为直接挂载为了保证文件内容一致,会删除文件;

(5)删除未使用的数据卷

不推荐这种方式,可能会把系统创建好的数据卷给删除掉;

docker volume prune

Docker常用命令_第23张图片

(6)删除指定volume

如列表中的“reids”数据卷;

docker volume rm volume名

Docker常用命令_第24张图片

总结

【基础命令】

启动docker服务:systemctl start docker

停止docker服务:systemctl stop docker

重启docker服务:systemctl restart docker

关闭防火墙:systemctl stop firewalld

禁止开机启动防火墙:systemctl disable firewalld

查看防火墙状态:systemctl status firewalld

====================================================================================

【镜像相关操作】

拉取镜像:docker pull 镜像名:版本

查看镜像:docker iamges

打包镜像:docker save -o 包名.tar 镜像名:版本

删除镜像:docker rmi 镜像名:版本

强制删除镜像(方式一):docker rmi -f 镜像名:版本

强制删除镜像(方式二):docker rmi -f 镜像ID

加载镜像:docker load -i 镜像包名.tar

====================================================================================

【容器相关命令】

运行容器:docker run --name 容器名 -p 主机端口:容器端口 -d 镜像名称

查看运行容器信息:docker ps

停止容器:docker stop 容器名

查看所有容器信息:docker ps -a

启动容器:docker start 容器ID/容器名

删除指定容器:docker rm 容器ID/容器名

查看容器运行日志:docker logs

实时监控容器运行日志:docker logs 镜像名

进入容器:docker exec -it 容器名 bash

=====================================================================================

【操作数据卷命令】

创建volume:docker volume create 数据卷

显示volume信息:docker volume ls

查看指定数据卷:docker volume inspect volume名

挂载数据卷到容器内目录:docker run --name 容器名 -v 数据卷:容器内文件路径 -d -p 主机端口:容器端口 镜像名

删除未使用的数据卷:docker volume prune

删除指定volume:docker volume rm volume名

你可能感兴趣的:(docker,容器,运维)