保存docker容器为镜像
docker commit [当前运行的container id] [仓库名称]:[tag]
1.docker ps -a # 找到第一步中开启的容器 cuda8:v1.0对应的ID号 64bf662e18d6
2.docker commit 64bf662e18d6 wwy/cuda8:v2.0 # wwy/cuda8:v2.0为新保存的镜像名字
3.docker images # 查看是否有新的镜像生成
帮助命令
docker --help # 帮助信息
docker info # 系统信息,包括镜像和容器的数量
帮助文档地址:https://docs.docker.com/engine/reference/
镜像命令
docker search 镜像名 # 搜索镜像
docker pull 镜像名 # 下载镜像
docker exec -it [images - id] /bin/bash # 进入容器镜像
Docker采用联合文件系统,不同镜像的相同文件无需再次下载:
docker rmi 镜像名/id 删除镜像
容器命令
docker run [options] 镜像名/id [command] # 建立容器并启动:
docker attach [容器ID] # 进入docker容器
注意,使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。
因为这个原因,所以docker attach命令不太适合于生产环境,平时自己开发应用时可以使用该命令。
docker start [container-name/ID] # 启动已停止的现有容器
docker stop [container-name/ID] # 停止正在运行的容器
docker exec -it [container-name/ID] bash # 然后登录到容器的交互式shell
[options]:
--name=容器名 # 命名容器以区分不同容器
-d # 在后台运行容器(必须有一个前台进程,否则进程会自动关闭)
-it # 使用交互方式运行,进入容器查看内容
-p 主机端口:容器端口 # 暴露指定容器端口
-P # 暴露容器所有端口
[command]:
/bin/bash # 控制台
exit # 从容器中退回主机
CTRL+Q+P # 容器不停止退出
docker ps # 显示当前运行的容器
docker ps -a # 带出历史运行过的容器
docker rm 容器名/id # 删除指定容器
docker rm &(docker ps -aq) # 删除全部容器
其他命令
docker start/restart/stop/kill 容器名/id
docker logs -tf --tail 显示的日志条数 容器名/id # 查看日志
docker top 容器名/id # 查看容器中的进程信息
docker inspect 容器名/id # 查看镜像的元数据
docker exec -it 容器名/id /bin/bash # 通常容器以后台方式运行,需要进入其中修改配置:进入容器后开启一个新终端
docker attach 容器名/id # 进入容器正在执行的终端
docker cp 容器名/id:容器内路径 主机文件路径 # 从容器内拷贝文件到主机上
打Dockerfile:
# Dockerfile
FROM currency_crawler:v1.0.2
CMD sh /run.sh
docker build -t crawler_currency:v1 .
最后,推荐想要学习docker的朋友,可以通过狂神说docker免费学习
课程链接:
https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=18106350651153543104