Docker常用命令

一、Docker启动和停止命令

1.1 开启Docker服务

#方式一
sudo service docker start
#方式二
systemctl start docker.service

1.2 查看Docker状态

systemctl status docker

1.3 停止Docker服务

systemctl stop docker

1.4 重启Docker服务

systemctl restart docker

二、Docker镜像相关操作

2.1 查看本地镜像

docker images

2.2 下载镜像

docker pull 软件名:版本号

# 如:
docker pull mysql:5.6

2.3 配置docker镜像加速

可以到https://hub.docker.com上去查看镜像支持版本;由于国内无法访问镜像仓库地址,因此这里切换到国内地址;这里使用阿里云提供的免费镜像地址。

申请阿里云容器镜像服务ACR https://www.aliyun.com/product/acr;申请成功后点击管理控制台,选择镜像中心->镜像加速获取地址。

编辑配置文件

vi /etc/docker/daemon.json

在里面加入如下配置(地址为你的加速地址):

{
  "registry-mirrors": ["https://123456.mirror.aliyuncs.com"]
}

或者是网易的公共加速地址

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

2.4 删除已安装的镜像

# 方式一:
docker rmi [IMAGE ID]
#如:
docker rmi 232343

#方式二:
docker rmi [REPOSITORY]:[TAG]
#如:
docker rmi mysql:5.6

2.5 将本地镜像打包

docker save mysql:5.6 > /home/mysql5.6.tar.gz

2.6 加载本地镜像包

docker load < /home/mysql5.6.tar.gz

2.7 构建docker镜像

这种方式需要配置dockerbuild文件

docker build -t 镜像名称:版本号 .

三、容器相关操作

3.1 查看运行中的容器

docker ps

3.2 查看所有容器

docker ps -a

3.3 创建并运行容器

docker run -d --name "创建的容器名称" -p 外部端口:容器端口 镜像名称或镜像id

示例:

docker run -d --name nginx -p 8088:80 nginx

加上 --restart=always 参数后,可以实现在docker重启后容器自动启动

3.4 启动容器

docker start 容器ID或容器名称

3.5 停止容器

docker stop 容器ID或容器名称

3.6 重启容器

docker restart 容器ID或容器名称

3.7 查看容器运行日志

docker logs [OPTIONS] CONTAINER
  Options:
        --details        显示更多的信息
    -f, --follow         跟踪实时日志
        --since string   显示自某个timestamp之后的日志,或相对时间,如30m(即30分钟)
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳
        --until string   显示自某个timestamp之前的日志,或相对时间,如30m(即30分钟)
  • 查看最后500行的日志
docker logs -ft --tail 500 nginx
  • 查看指定时间后的日志,只显示最后200行
docker logs -ft --since="2020-12-30" --tail=200 nginx
  • 查看最近30分钟的日志
docker logs --since 30m nginx
  • 查看某时间之后的日志
docker logs -t --since="2020-12-30T10:30:00" nginx
  • 查看某时间段日志
docker logs -t --since="2020-12-29T10:30:00" --until "2020-12-30T10:30:00" nginx

3.8 进入docker容器

  • 方式一(不建议使用)
docker attach 容器ID 

attach命令在有多个窗口打开时,因为其为对每个窗口同步,因此一旦某个窗口阻塞了,其他的都会受影响

  • 方式二
docker exec -it 775c7c9ee1e1 /bin/bash 

3.9 复制docker中文件到宿主机上

# 将容器里面的文件拷贝到宿主机上
docker cp 容器ID:容器内文件路径 宿主机路径

# 将宿主机上的文件拷贝到容器里面
docker cp  宿主机路径 容器ID:容器内文件路径

3.10 删除容器

docker rm 容器ID或容器名称
posted @ 2020-09-25 23:13  起岸星辰  阅读(118)  评论(0编辑  收藏  举报