docker的所有命令全解析

基本操作

启动docker
systemctl start docker

创建漏洞环境

docker-compose up -d

进入容器命令
docker exec -it 42ab15342150 bash ###42ab15342150为容器id

列出所有的容器 ID
docker ps -aq
docker ps // 查看所有正在运行容器
docker stop containerId // 停止containerId 是容器的ID

停止所有的容器
docker stop $(docker ps -aq)

删除所有的容器
docker rm $(docker ps -aq)

删除所有的镜像
docker rmi $(docker images -q)
docker container prune 删除所有停止的容器
docker rm -f <containerid> 删除指定容器

使用 docker start 启动一个已停止的容器:

docker start b750bbbcfd88

停止容器

docker stop b750bbbcfd88

重启容器

docker restart b750bbbcfd88

报错解决

出现Couldn‘t connect to Docker daemon at http+docker://localunixsocket - is it running?报错,是由于权限问题
直接执行如下命令将当前用户加入docker用户组:
sudo gpasswd -a ${USER} docker
sudo su进入root用户

Docker修改容器内部文件的方法一共有三种,下面进行一一介绍。

1、进入容器内部修改

使用下面的命令以命令行的形式可以进入容器的内部对文件进行修改。

docker exec -it 容器ID /bin/bash

不过里面没有vim,需要自行安装,安装代码如下所示。不过不推荐这种形式,因为里边的文件是临时的,容器被删除之后,配置就失效了,需要从新配置。

apt-get update
apt-get install vim

2、通过docker cp拷贝进行修改

可以通过下面的代码将需要修改的文件拷贝出来,修改完成之后再拷贝回去。这种方式其实和第一种差不多,只是不用安装vim,但是容器被删除之后,修改过的内容也会失效。而且需要重启容器才能生效(好像)

#将容器中的文件拷贝出来(这些都不能进去容器里操作,因为容器里没有docker,需要在本地用户操作)
sudo docker cp 容器ID:/etc/mysql/my.cnf /home/tom/
#将容器中的文件拷贝回去
sudo docker cp /home/tom/my.cnf 容器ID:/etc/mysql/

3、使用-v挂载文件夹(推荐)

最后一种方法是在启动的时候使用-v将容器内部的文件夹挂载(映射)到本地的某个路径下,以后以后可以直接在本地修改,不需要进入容器内部.

#冒号前是本地路径(需要绝对路径),冒号后是容器中的路径
docker run --name mytomcat -v /home/www/webapps:/usr/local/tomcat/webapps -d tomcat

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值