天天看点

Docker常用命令整理序言全局操作容器镜像操作创建容器日志操作进入容器内部容期间的操作

序言

整理下常用的命令[email protected]

全局操作

#显示当前docker的版本号

docker -v

容器镜像操作

#查看所有存在的惊喜那个

docker images

#删除容器,要删除镜像必须要先删除容器

docker rm  id/tag

#删除镜像

docer rmi id/tag

#搜索命令还是很常用的,可以看到官方的和个人制作的镜像,节省我们很多时间

docker search 镜像名称

创建容器

#创建镜像的一个实例 -p指定端口映射 -d表示以守护线程运行 --name可以指定容器名称

docker run  --name 容器名称 -d -p 8000:8080 镜像tag:version

#启动一个存在的容器

docker start 容器名称

#关闭一个运行中的容器

docker stop 容器名称

#注意创建过得容器并不会消失,如果停用了可以使用

docker ps -a

#在启动docker容器的时候通过参数 -e 加入环境变量

docker run -d --name test2 {镜像名} -e REDIS_HOST=192.1.1.0

#容器内文件映射到容器外,如下使用 -v 将/var/opt/mssql映射到容器外的/data路径下

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=密码" -u 0:0 -p 1433:1433 --name mssql -v /data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest

日志操作

#查看日志

docker logs [OPTIONS] CONTAINER

  Options:

        --details        显示更多的信息

    -f, --follow         跟踪实时日志

        --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)

        --tail string    从日志末尾显示多少行日志, 默认是all

    -t, --timestamps     显示时间戳

        --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

#查看指定时间后的日志,只显示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

#查看最近30分钟的日志:

$ docker logs --since 30m CONTAINER_ID

#查看某时间之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

查看某时间段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

进入容器内部

# Docker内部

# /bin/bash  或者 /bin/sh

#/bin/sh与/bin/bash虽然大体上没什么区别,但仍存在不同的标准

#-it的说明如下所示

OPTIONS说明:

-d :分离模式: 在后台运行

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端

$ sudo docker exec -it 容器ID /bin/bash

容期间的操作

通过--link来连接当前容器与另一个已经存在容器,使他们能互相通信

语法 --link <container-name/container-id>:alias     

 container-name/container-id为源容器的container-name/container-id,alias为源容器在link下的别名   

如下的例子是kibana需要从elasticsearch获取相关的索引故此需要通信

docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0