Docker常用命令

1.检查是否安装成功或docker信息

docker info

2.启动docker服务

 systemctl start docker

3.查看docker状态

systemctl status docker

4.docker设置

a)设置Docker开机自启

systemctl enable docker

b) 禁用Docker开机自启

systemctl disable docker

c)重新启动Docker服务

 systemctl restart docker

d)停止Docker服务

systemctl stop docker

5. Docker镜像加速

由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json

下面命令直接生成文件 daemon.json

cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}
EOF

说明:在执行如上指令时,保证你的登录用户为root管理员用户,并且设置好以后重启docker服务.

6.Docker镜像操作

a) Docker下载镜像
语法:docker pull 镜像名
案例:

docker pull hello-world

b) docker浏览镜像文件

docker images

c) 查看镜像详情
语法:docker inspect 镜像名

docker inspect hello-world

d) 查看镜像历史
一个镜像是由多个层(layer)组成的,那么,我们要如何知道各个层的具体内容呢?通过 docker history 命令,可以列出各个层(layer)的创建信息,例如:

docker history hello-world

e) 导出镜像文件
镜像导出(linux系统中的镜像文件下载到本地-例如window),导出后给他人使用

docker save  hello-world | gzip > hello-world.tar.gz  

f) 删除镜像文件
语法:docker image rm 镜像名或镜像id

docker image rm hello-world

g) 导入镜像操作
镜像导入(要在hello-world.tar.gz 文件所在目录下执行)

docker load < hello-world.tar.gz 

****h)运行镜像文件
基于镜像,启动容器运行

docker run hello-world

7.创建并启动容器(Container)

a) 创建并启动容器(Container)

基本语法解析

docker run -it xxxx bash

其中:
1)xxxx - 镜像名, 或 image id 的前几位,
2)-it 这是两个参数(-i表示交互式操作, -t 表示终端)
3) bash 表示进入操作终端,基于交互式进行相关操作(例如执行linux相关指令)。

案例:通过docker启动运行 centos7镜像

docker run -it centos:7 bash

b) 查看Docker中的容器(Container)
查看docker运行中的容器(要在宿主机执行docker指令)

docker ps

说明,假如在容器中执行docker指令会出现如下问题,例如:
在这里插入图片描述
c) 查看docker运行中的所有容器

docker ps -a

d) 查看容器日志(logs)信息
查看容器启动运行日志时,这个指令非常重要,假如容器没有启动,要通过此指令去看一下错误日志。

docker container logs 802  #802为自己的容器id(一般写前三位即可)

说明,查看容器的运行日志时,容器应该处于一种运行状态.

e) 停止(stop)或重启(Restart)容器(Container)
停止运行的容器,代码如下:

docker container stop 802  #802为容器自己的id

重新启动容器,代码如下:

docker container restart 802 #802位容器自己的id

f) 进入(exec)指定容器(Container)
当容器处于运行状态,要进入容器,可以使用 docker exec 命令,例如:

docker exec -it 802 bash #802为容器id

说明,假如容器处于一种非运行状态,此时你执行docker exec进入容器会出现如下问题:
在这里插入图片描述
g) 删除(rm)容器(Container)
假如容器不用了,可执行删除操作,例如:

docker container rm 802 #802为容器id

说明,假如容器正在运行执行删除,会出现如下问题,例如:
在这里插入图片描述
其中,如果删除运行中的容器,需要添加 -f 参数执行强制删除,例如:

docker container rm -f 802 #802为容器id

清理所有处于终止状态容器,例如:

docker container prune

8.docker数据管理操作

在容器中管理数据主要有两种方式:

数据卷(Volumes)
挂载主机目录 (Bind mounts)
数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间共享和重用,默认会一直存在,即使容器被删除

a) 创建数据卷

docker volume create container-vol

b)查看所有数据卷

docker volume ls

c) 查看指定 数据卷 的信息

docker volume inspect container-vol

查询的结果:

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/container-vol/_data",
        "Name": "container-vol",
        "Options": {},
        "Scope": "local"
    }
]

d) 启动挂载数据卷的容器

docker run -it --mount source=container-vol,target=/root centos:7 bash

或者采用如下简写方式:

docker run -it -v container-vol:/root centos:7 bash

-v container-vol:/root 把数据卷 container-vol 挂载到容器的 /root 目录

e) 删除数据卷
说明:如果数据卷被容器使用则无法删除

docker volume rm container-vol

f) 清理无主数据卷

docker volume prune

9.挂载主机目录

我们还可以在启动容器时,以目录直接挂载的方式进行数据操作,例如:

docker run -it -v /usr/app:/opt/app centos:7 bash

其中:
1)/usr/app:为宿主机目录
2)/opt/app: 为启动容器的一个目录
3)-v 用于指定挂载目录,如果本地目录(宿主机目录)不存在, Docker 会自动为你按照挂载目录进行目录的创建。
例如:
在这里插入图片描述
a) 查看挂载目录信息

docker inspect 91a #91a 为容器id

结果显示:

...

"Mounts": [
    {
        "Type": "bind",
        "Source": "/usr/app",
        "Destination": "/opt/app",
        "Mode": "",
        "RW": true,
        "Propagation": "rprivate"
    }
],

...

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗人在流浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值