基本命令
1 2 3 4 5 6
| docker version docker info docker --help || docker
docker [options] command(具体命令)
|
Images镜像命令
查看本机中所有镜像
1 2 3
| docker images [镜像名] -a -q
|
搜索镜像
1 2 3
| docker search [options] 镜像名 -s 指定值 --no-trunc
|
从仓库下载镜像
1 2 3 4 5 6 7
| docker pull 镜像名[:TAG]
docker pull 镜像名 [@DIGEST]
|
删除镜像
1 2 3 4 5 6 7
| docker image rm 镜像名[:TAG]|镜像ID docker rmi 镜像名[:TAG]|镜像ID -f
docker rmi -f $(docker images -q)
|
Contrainer容器命令
运行容器
1 2 3 4 5 6 7 8 9 10
| docker run 镜像名:tag | 镜像ID --name -d -p -P -i -t
|
查看运行的容器
容器ID |
基于某镜像 |
内部启动命令 |
创建时间 |
当前状态 |
内部监听的端口(0.0.0.0:表示任意机器都可以访问) |
容器名称 |
CONTAINER ID |
IMAGE |
COMMAND |
CREATED |
STATUS |
PORTS |
NAMES |
9b816120e028 |
tomcat |
“catalina.sh run” |
6 seconds ago |
Up 6 seconds |
0.0.0.0:8080->8080/tcp |
frosty_tharp |
停止|关闭|重启容器
1 2 3 4
| docker start 容器名字或者容器id docker restart 容器名或者容器id docker stop 容器名或者容器id docker kill 容器名或者容器id
|
删除容器
1 2 3
| docker rm 容器名称|容器ID docker rm -f 容器名称|容器ID docker rm -f $(docker ps -aq)
|
查看容器内服务运行日志
1 2 3 4
| docker logs [OPITONS] 容器名称|容器ID -f -t --tail N
|
查看容器内进程
进入容器内部
1 2 3 4
| docker exec [OPTIONS] 容器名称|容器ID 容器内部命令(bash) -i -t exit
|
容器和宿主机之间传输文件
1 2 3 4 5 6 7
| docker cp 容器名称|容器ID:容器内资源文件|目录 宿主机文件|目录
docker cp 宿主机资源文件|目录 容器名称|容器ID:容器内文件|目录
|
查看容器内部细节
1
| docker inspect 容器名称|容器ID
|
数据卷(volum)
作用
实现宿主机系统与容器之间的文件共享
使用
自定义数据卷目录
注意:宿主机目录会覆盖容器内目录内容
1 2 3
| docker run -v 宿主机绝对目录:容器内绝对目录 容器名称|容器ID docker run -v 宿主机绝对目录:容器内绝对目录:ro 容器名称|容器ID
|
自动数据卷目录
注意:这种方式会在docker运行容器时自动在宿主机中创建一个目录,并将容器目录文件复制到宿主机中
1 2 3
| docker run -v 卷名(任意别名):容器内绝对路径 容器名称|容器ID docker run -v 卷名(任意别名):容器内绝对路径:ro 容器名称|容器ID
|
容器内部执行的流程
aa代表一个数据卷名称,名称可以随便写,docker在发现aa目录不存在时,会自动创建这个数据卷,并自动映射宿主机某个目录
同时在启动容器时会将aa对应容器目录中全部内容复制到aa映射到目录中
这个aa目录在宿主机:/var/lib/docker/volumes/aa/_data
容器打包成新的镜像
1 2
| docker commit -m "描述信息" -a "作者信息" 容器名称|容器ID 打包后的镜像名称(必须全部小写字母):标签
|
打包镜像(备份镜像)
1 2
| docker save 镜像名:TAG -o 文件名称.tar
|
载入镜像(导入tar包镜像文件)
1 2
| docker load -i 导入镜像的tar文件名
|