目录
1. 创建并启动容器
命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--name="容器名字":为容器命名
- -i:以交互模式运行容器,通常与-t或者-d同时使用;
- -t:为容器重新分配一个伪输入终端,通常与-i同时使用;
- -d: 后台运行容器,并返回容器ID;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
启动普通容器: docker run --name 别名 镜像ID
启动交互式容器: docker run -it --name 别名 镜像ID
守护式方式创建并启动容器: docker run -di --name 别名 镜像ID (执行完命令终端依然在宿主机上)
启动容器,并执行/bin/bash命令:
docker run -it --name 别名 镜像ID /bin/bash
端口映射:
docker run -it --name 别名 -p 8888:8080 镜像ID
docker run -it -P 镜像ID
2. 列出容器
命令:docker ps [OPTIONS]
OPTIONS说明:
- -a :显示所有的容器,包括未运行的。
- -f :根据条件过滤显示的内容。
- --format :指定返回值的模板文件。
- -l :显示最近创建的容器。
- -n :列出最近创建的n个容器。
- --no-trunc :不截断输出。
- -q :静默模式,只显示容器编号。
- -s :显示总的文件大小。
3. 退出容器
exit 容器停止退出
ctrl+P+Q 容器不停止退出
4. 进入容器
命令:docker attach 容器ID 或 容器名
5. 启动容器
命令:docker start 容器ID 或 容器名
6. 重启容器
命令:docker restart 容器ID 或 容器名
7. 停止容器
命令:docker stop 容器ID 或 容器名
docker kill 容器ID 或 容器名 (暴力删除,直接杀掉进程,慎用)
8. 删除容器
命令 docker rm [-f ] 容器ID 容器ID2
如果容器正在执行需要加 -f 强制删除。
强制删除docker rm -f 容器ID
删除所有容器 docker rm -f $(docker ps -qa)
9.宿主机和容器之间拷贝文件
宿主机到 容器:
命令:docker cp 拷贝的文件或目录 容器名称:容器目录
容器到宿主机:
docker cp 容器名称:容器目录 宿主机目录
10 查看容器日志
命令: docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
可以在相应文件中查看日志,日志目录 :/var/lib/docker/containers/
11. 查看容器进程
命令:docker top 容器ID
12. 进入容器执行命令
命令:docker exec -it 容器名称 或 容器ID 执行命令
直接操作容器,执行完回到宿主主机终端;
一般用于启动容器里的应用 比如 tomcat、nginx、redis等等
13. 提交运行容器为镜像
命令:docker commit -a '作者' -m '备注' 运行时容器ID 新镜像名称
14. 推送镜像到 hub 服务器
命令:docker push NAME[:TAG]
【注】推送前先登录
在https://hub.docker.com/ 查看结果:
14. 推送镜像到阿里云
进入:https://cr.console.aliyun.com 阿里云镜像控制台 ====》创建命名空间====》再创建镜像
点击仓库名查看官方操作指南:
15. 查看容器元信息
命令: docker inspect 容器ID