Docker常用命令使用记录
常用命令表
Docker 常用命令总结:
命令 | 用途 |
---|---|
docker pull | 获取 image |
docker build | 创建 image |
docker images | 列出 image |
docker rmi | 删除 image (-f 强制删除) |
docker run | 运行 container |
doeker stop | 停止一个 container |
docker ps | 列出正在运行的 container |
docker rm | 删除 container |
dockre container ls -a | 列出所有的容器 |
docker container start/restart/stop | 启动/重新启动/停止 一个容器 |
docker cp | 在host和container之间拷贝文件 |
docker commit | 保存改动为新的 image |
docker exec | 进入某个容器 |
docker system df | 查看docker 磁盘使用空间 |
docker system prune | 清理磁盘。删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像) |
命令示例
部分命令具体使用示例。
运行一个nginx镜像
1 | [root@HJWDEV home]# docker run -p 8080:80 -d nginx |
-p
表示端口映射,把nginx的 80 端口映射到宿主机的 8080 端口
-d
表示允许该Container作为守护进程来执行
1 2 | [root@HJWDEV home]# docker run --rm -it ubuntu /bin/bash root@3b5c1d1ce739:/# |
--rm
告诉Docker一旦运行的进程退出就删除容器,这在进行测试的时候非常有用
-it
表示使用分配一个伪终端并进行交互模式,这将进入到容器内部。但不要在生产环境中这样使用
/bin/bash
要运行的命令,因为我们以交互模式启动,它将显示一个容器的提示符
列出所有容器
1 | [root@HJWDEV home]# docker ps -a |
包含历史运行过的容器
删除容器
1 | [root@HJWDEV home]# docker rm 81b27f371312 |
表示删除指定的容器 81b27f371312
为容器的 CONTAINER ID
,在使用ps列出容器时可以看到。
1 | docker rm $(docker ps -a -q) |
表示删除所有容器
空间清理
1 2 3 4 5 6 7 | docker system prune WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all dangling build cache Are you sure you want to continue? [y/N] y |
表示清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像),可以使用这个命令清理Docker 所占用的空间。
参数:
-a
表示清除所有没有容器引用的镜像,慎用!
停止某个容器
1 | [root@HJWDEV home]# docker stop 0af0575bb931 |
停止容器 0af0575bb931
复制成功
1 | docker stop $(docker ps -a -q) |
停止所有容器
启动一个容器
1 | [root@HJWDEV docker]# docker container start a79bf9126f4c |
会以原来的方式启动这个容器
修改容器
在home
目录下新建一个index.html文件,并写入简单内容:
1 2 | [root@HJWDEV home]# touch index.html [root@HJWDEV home]# vi index.html |
将index.html
文件复制到 nginx 容器的指定目录下,则容器显示的首页会是我们上面写入的内容。
1 | [root@HJWDEV home]# docker cp index.html 0af0575bb931://usr/share/nginx/html |
在重新启动该容器后,这个更改失效,因为Dockers在容器内做的改动都是暂时的,如需要保存则使用提交命令:
1 | [root@HJWDEV home]# docker commit -m 'fun' 0af0575bb931 nginx-fun |
表示将0af0575bb931
容器的改动进行提交 ,-m
则表示提交时添加的注释,当我们进行提交时会生成一个新的image,这里指定新镜像的名称为nginx-fun
,如不指定名称则为
提交完成后可以通过 docker images
命令查看是否生成了一个新的image,启动这个新image得到的内容则会是我们上面更改的index.html
的内容
进入容器
1 2 | docker exec -it nginx-fun /bin/bash root@15f556dcc7e5:/# |
只用 -i
参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。
当 -i
-t
参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。
文章作者: HJW
文章链接: https://hjwjw.gitee.io/posts/eae2c9c8/
转载来自 HJW's Blog!