说明:Docker常用的命令分以下四部分,对于开发人员,掌握这些命令就基本够用。
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
如redis,不加版本默认为最新版;
docker pull 镜像名:版本
docker iamges
注意这里的版本,不是应用的版本,而是镜像的版本,所以拉取镜像前,应先去dockerHub(https://hub.docker.com/)上查看对应应用的镜像版本,再拉取自己需要的版本;
注意不要使用imageID代替镜像名,不然后面加载该镜像会丢失镜像的名称、版本信息;
docker save -o 包名.tar 镜像名:版本
如果说拉取镜像是安装应用,那么打包镜像,就相当于根据应用生成安装包;
如redis;
docker rmi 镜像名:版本
docker rmi -f 镜像名:版本
docker rmi -f 镜像ID
当然,普通删除,也可以使用镜像ID的方式
docker load -i 镜像包名.tar
创建容器并运行,如redis;
docker run --name 容器名 -p 主机端口:容器端口 -d 镜像名称
其中,
docker run:表示创建并运行一个容器;
–name:给容器取名;
-p:将宿主机端口与容器端口映射,左边是主机端口,右边是容器端口;
-d:后台运行;
docker ps
注意,此命令只能查看运行中的容器信息
docker stop 容器名
docker ps -a
docker start 容器ID/容器名
docker rm 容器ID/容器名
如删除容器名为rc的容器;
docker logs 镜像名
创建nginx容器,并启动,在公网IP上访问,查看前后的日志信息;
访问页面后,再查看日志信息,有新增信息;
查看nginx实时的日志信息
docker logs -f 镜像名
此时,日志信息会实时更新,按ctrl + c
可退出
如进入前面创建的nginx容器
docker exec -it 容器名 bash
其中,
exec:进入容器内部;
-it:创建标准输入、输出终端;
bash:liunx终端交互命令;
修改Welcome to nginx,为Hello Docker;
创建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
数据卷是在Linux系统内创建一个文件(volumn),关联(称为挂载)到容器内应用的文件,这样做有两点好处:
不需要进入到容器内部修改应用的配置文件;
可以使多个容器关联到同一个文件,共享应用配置;
创建一个volume,挂载nginx中的html文件夹
docker volume create 数据卷
docker volume ls
docker volume inspect volume名
Mountpoint后面的路径,指容器中的目录数据挂载在这个路径下
启动容器,并挂载数据卷,如nginx应用
docker run --name 容器名 -v 数据卷:容器内文件路径 -d -p 主机端口:容器端口 镜像名
此时,对数据卷中的文件修改,容器中的文件也会同步修改;
注意,挂载也可以不经数据卷,直接和目录挂载。但不推荐这种方式,因为直接挂载为了保证文件内容一致,会删除文件;
不推荐这种方式,可能会把系统创建好的数据卷给删除掉;
docker volume prune
如列表中的“reids”数据卷;
docker volume rm volume名
【基础命令】
启动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名