玩坏docker笔记(八):Docker容器+常用指令

容器启动时执行命令的三种方式:1)CMD命令,2)ENTRYPOINT指令 ,3)在docker run命令中指定

docker run ubuntu pwd  //容器启动时,执行pwd命令

执行docker ps或docker container ls 可以查看docker host中当前运行的容器;执行docker ps -a 或dokcer container ls -a可以查看所有状态的容器。

让容器长期运行

有些容器运行一闪而过,如何保持其长期运行呢 ?

docker run -d --name  myfirstcontiner  ubuntu  /bin/bash -c "while true;do sleep 1;done"
-d :后台运行
--nane:为容器制定一个名字
停止容器
docker stop 容器id/名字

通过

docker history 容器name/id

可以查看其运行情况

两种进入容器的方法

1)docker attach
通过docker attach可以attach到容器启动命令的终端
在这里插入图片描述
通过’长id‘attach到了容器的启动命令终端。
退出attach使用CTRL-p CTRL-q方式比较简单,只需要注意docker run时要同时指定-it选项。该方式只会退出docker attach,对容器没有影响。如果-it选项没有同时指定,CTRL-p CTRL-q无法生效

其他退出方式
上面两种方式在退出时都有限制,有没有其他方法呢?
其实,我们只要另起一个终端,把docker attach进程杀死就可以了

#终端1中执行,没有同时指定-it,CTRL-p CTRL-q无法退出
doujl@ubuntu:~$ docker run -id centos:7 /bin/bash
00c031965cb2075643e15a3b88141026e753a79e8b03b960880d505950488014
doujl@ubuntu:~$ docker attach 00c0
^P
/bin/bash: line 1: $'\020': command not found
^P
#终端2中杀死docker attach进程
doujl@ubuntu:~/dettach$ pkill -9 -f 'docker.*attach'
doujl@ubuntu:~/dettach$ 
docker exec

在这里插入图片描述
-it以交互的方式打开终端,执行bash,其结果就是打开了一个bash终端
ps -elf:显示容器进程
执行exit可以退出容器

容器常用命令

docker stop id/name
docker kill  id/name :快速停止
docker start name 
docker restart name
#若想在容器错误停止的时候自动重启
docker run -d --restart=always name
#若启动进程退出代码非0,则重启容器,次数不超过3
docker run -d --restart=on-failure:3 name
#希望容器暂停,对容器文件打快照
docker pause name/id
#处于暂停状态的容器不会占用cpu
docker unpause id/name
#删除容器
docker rm id/name
#批量删除所有已经退出的容器
docker rm -v $(docker ps -aq -f status=exited)
#删除镜像
docker rmi name
#可以先创建容器然后在启动
docker create httpd(容器name)
docker start id/name

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值