Docker-学习之路-对于容器的基本操作

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值