Docker系列2 - Docker常用命令

系列文章
Docker系列1 - CentOS7安装Docker


概念

Docker解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
Docker容器是在操作系统层面上实现虚拟化,直接复用本地的操作系统,而传统虚拟机则是在硬件层面实现虚拟化
Docker优势是启动快、占用体积小

Docker容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟
Docker每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源

更快速的应用交付的部署
更便捷的升级和扩缩容
更简单的系统运维
更高效的计算资源利用

安装及卸载

#重建yum索引 
yum makecache fast 

#安装命令参考上一篇

#卸载docker 
yum remove docker-ce docker-ce-cli containerd.io 
rm -rf /var/lib/docker 
rm -rf /var/lib/containerd 

常用命令

#查看镜像、容器、数据卷所占的空间 
docker system df  

#测试docker
docker run hello-world

#删除所有容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

#删除所有镜像 
docker rmi -f $(docker images -qa)

#docker虚悬镜像:仓库名、标签都是<none>的镜像,建议删除
docker image prune

#退出交互中的容器,容器不停止 ctrl + p + q
docker run -it ubuntu /bin/bash
docker ps

#Docker容器后台运行,就必须有一个进程。容器运行的命令如果不是那些一直挂起的命令(top、tail),就是会自动退出的

#查看容器内运行的进程
docker top 容器id
 
#查看容器内部细节 
docker inspect 容器id
 
#进入容器实例 
docker exec -it 容器id /bin/bash

#attach直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器的停止(不推荐使用该命令)
docker attach 容器id

#在容器内部创建一个文件
docker exec -it f7774d6f225e /bin/bash
touch abc.txt
echo 'aabbcc' > abc.txt
exit

#从容器拷贝到主机上
docker cp 容器id:容器内部路径 主机路径
docker cp f7774d6f225e:/abc.txt .
echo '123456' >> abc.txt

#把本地文件复制到容器里面
docker cp /data/conf/nginx.conf 容器id:/etc/nginx/nginx.conf
docker cp ./abc.txt f7774d6f225e:/abc.txt

#导出容器到归档文件
docker export 容器id > test.tar
docker export f7774d6f225e > test.tar

#导入归档文件到镜像
cat test.tar | docker import - intmall/ubuntu:3.7
docker images
docker run -it intmall/ubuntu:3.7 /bin/bash
cat abc.txt
exit

Docker单文件挂载问题

#在宿主机中挂载了一个单文件config.properties
sudo docker run --name maxwell -v /data/maxwell/config.properties:/app/config.properties -d zendesk/maxwell bin/maxwell --config config.properties

#在容器启动后,使用vi config.properties修改文件后,文件并未同步到容器中
#解决方法:先删除正在运行中的容器,给单文件修改文件权限,再重新运行容器
sudo docker rm maxwell
sudo chmod 666 config.properties
sudo docker run --name maxwell -v /data/maxwell/config.properties:/app/config.properties -d zendesk/maxwell bin/maxwell --config config.properties
sudo docker exec -it maxwell /bin/bash
cat /app/config.properties

参考:
Docker挂载的文件(docker run-v)在宿主机修改了后,在容器中没有生效的解决办法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GalenZhang888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值