序言
整理下常用的命令[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