Docker-常用命令

一、docker基础命令

1. 启动与关闭docker

启动docker

systemctl start docker

关闭docker

systemctl stop docker

重启docker

systemctl restart docker

设置docker随服务启动而自启动

systemctl enable docker

2. 查看docker信息

查看docker运行状态

systemctl status docker

查看docker版本号信息

docker version

docker info

3. docker帮助命令

docker帮助命令

docker --help

一般都如下使用
docker xx --help

例如
docker save --help

二、docker镜像命令

  • 镜像名称一般分两部分组成:【repository】:【tag】
  • 在没有指定tag时,默认是latest,代表最新版本的镜像

1. 查询与搜索镜像

查看服务器中docker镜像列表

docker images
# 查看所有镜像的id
docker images -q

搜索镜像

docker search 镜像名

在这里插入图片描述


  • NAME:镜像仓库源的名称

  • DESCRIPTION: 镜像的描述

  • OFFICIAL:是否 docker 官方发布

  • stars:类似 Github 里面的 star,表示点赞、喜欢的意思。

  • AUTOMATED:自动构建。

2. 拉取镜像

拉取镜像 不加tag(版本号)即默认拉取doche仓库中该镜像的最新版本latest

docker pull 镜像名
docker pull 镜像名:tag

镜像版本号可到docker hub中查看

docker官方镜像

在这里插入图片描述

3. 删除镜像

删除镜像

# 删除一个
docker rmi -f 镜像名/镜像ID

# 删除多个
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID...

# 删除全部镜像 -a:显示全部  -q:只显示id
docker rmi -f ${docker images -aq}

4. 保存与加载镜像

保存镜像

docker save [OPTIONS] 镜像 [镜像...]

OPTIONS 说明:
	-o: 输出到的文件。

# 常用格式
docker save -o 压缩文件名称 镜像名称:版本号
例如
docker save -o nginx.tar nginx:latest

加载镜像

docker load [OPTIONS] 保存的目标文件名称

OPTIONS 说明:
	--input, -i: 指定导入的文件,代替 STDIN。
	--quiet, -q:精简输出信息。

# 常用格式
docker load –i 压缩文件名称
例如
docker load -i nginx.tar

三、docker容器命令

1. 查看容器运行及状态

查看正在运行的容器及状态

# 查看正在运行的容器
docker ps 
# 查看所有容器,包括已经停止的
docker ps -a  
# 查看容器信息
docker inspect 容器名称/容器ID

2. 创建并运行容器

创建并运行容器

docker run [可选参数] 镜像[:tag]

# 常用参数说明
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用 docker exec 进入容器。退出后,容器不会关闭。
-it:创建的容器一般称为交互式容器,使用交互方式运行。
-id: 创建的容器一般称为守护式容器。
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,-p 8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口  (常用)
	-p 容器端口
--name:为创建的容器命名。
-e: 例如 -e username="tyt", 设置环境变量。
--volume, -v: 绑定一个卷。
-m: 设置容器使用内存最大值。

3. 进入容器

进入容器

docker exec 参数 # 退出容器,容器不会关闭

# 常用
docker exec -it 容器id /bin/bash

4. 启动与停止容器

启动与停止容器

docker start 容器id           # 启动容器
docker restart 容器id         # 重启容器
docker unpause 容器id          # 让一个容器从暂停状态恢复运行
docker pause 容器id           # 暂停容器
docker stop 容器id            # 停止当前正在运行的容器
docker kill 容器id            # 强制停止当前的容器

5. 删除容器

删除容器:如果容器是运行状态则删除失败,需要停止容器才能删除

# 删除指定容器, 不能删除正在运行的容器,如果需要强制删除 rm -f
docker rm 容器名称/容器ID     
# 删除指定容器并删除数据卷
docker rm -v 容器名称/容器ID     
# 删除所有容器               
docker rm -f $(docker ps -aq)       
# 删除所有的容器
docker ps -a -q|xargs docker rm -f  

四、docker其他常用命令

查看日志

docker logs -tf --tail 信息条数 容器id

查看容器中进程信息

docker top 容器id

从容器中拷贝文件到主机

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

# 拷贝是一个手动过程,一般会使用数据卷来实现宿主机与容器的数据自动同步

查看镜像的元数据

docker inspect 容器id

commit镜像

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]

五、docker数据卷命令

1. 数据卷基本操作

创建数据卷

docker volume create 数据卷名

查看所有数据卷

docker volume ls

查看指定数据卷详细信息

# 显示一个或多个volume的信息
docker volume inspect 数据卷名

删除数据卷

# 删除一个或多个指定的 volume
docker volume rm 数据卷

清除无主的数据卷

# 删除未使用的volume
docker volume prune 

2. 挂载数据卷

创建启动容器时,使用 -v 参数 设置数据卷

docker run ... -v 宿主机目录(文件):容器内目录(文件) ...

# 如何确定是具名挂载还是匿名挂载,还是指定路径挂载!
-v 容器内路径                  # 匿名挂载
-v 卷名:容器内路径              # 具名挂载
-v /主机路径:容器内路径          # 指定路径挂载

注意事项

  • 目录必须是绝对路径
  • 如果目录不存在,会自动创建
  • 一个容器可以挂载多个数据卷

docker run -it --name mysql \
	-v /root/data:/root/data_container \
	centos:7 /bin/bash

4. 数据卷权限控制

# 通过 -v 容器内容路径 ro rw 改变读写权限
ro  readonly    # 只读
rw  readwrite   # 可读可写
 
docker run -d -P --name nginx02 -v /nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v /nginx:/etc/nginx:rw nginx

# ro 只要看到ro就说明这个路径只能通过宿主机来操作,容器内容无法操作

5. 数据卷容器的配置

  • 创建启动c3数据卷容器,使用 -v 参数设置数据卷
docker run –it --name=c3 -v /volume centos:7 /bin/bash
  • 创建启动 c1、c2 容器,使用 --volumes-from 参数设置数据卷
docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值