docker ps -a
执行镜像:docker run -it [image id] bash
执行容器:docker exec -it [容器id] bash
启动容器:docker start [容器id]
检查docker引擎:service docker status
重新加载配置文件:systemctl daemon-reload
重启docker: service docker restart
查看配置信息:docker inspect [容器id]
-t
的作用是创建一个伪终端, -i
是让该容器的标准输入保持打开。这样就可以进入到容器的交互模式。-i
-t
一起使用才可以看到我们熟悉的Linux命令提示符。只有 -i
由于没有分配伪终端,界面没有我们熟悉的Linux提示符,但命令结果仍然可以返回。
后面的/bin/bash
表示载入容器后运行bash
,docker中必须要保持一个进程的运行,不然容器启动后就会马上kill itself,/bin/bash
表示启动容器后启动bash。
docker exec -it –privileged 9ce3982ba7c5 bash
以root权限进入docker容器
docker exec -it -u root 9ce3982ba7c5 /bin/bash
以root权限进入docker容器
docker run -it –device=/dev/fuse:/dev/fuse –privileged 3171e55a9515 bash
将fuse设备添加到镜像
使用该参数,container内的root拥有真正的root权限。 否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。 甚至允许你在docker容器中启动docker容器。
docker run –name tomcat –cpus 0.1 -m 512M -p 8080:8080 -itd feisky/tomcat:8
通过 -m 512M 选项,给容器设置了 512M 的内存限制。
用 –cpus 0.1 ,为容器设置了 0.1 个 CPU 的限制,也就是 10% 的 CPU。
拷贝文件—计算物理机到容器
docker cp ~/lzy.log a365b0626781:/home/
拷贝文件—容器到计算物理机
docker cp a365b0626781:/home/lzy.log /root/lzy2.log
docker images
docker ps -a
重启docker:systemctl daemon-reload && systemctl restart docker
停止所有容器
docker stop $(docker ps -a -q)
删除所有容器
docker rm $(docker ps -a -q)
删除单个容器
docker rm
删除全部镜像
docker rmi $(docker images -q)
删除单个镜像
docker rmi
强制删除全部镜像
docker rmi -f $(docker images -q)
Docker 从容器中拷贝文件到宿主机中
docker cp 容器id:容器内文件路径 目标路径
#示例
docker cp 6741xxxxxxxx:/xxxx/xxx/xxx/xxxx/common.log /home/log/yyy.log
添加设备
docker inspect [container id]
查看容器信息找到容器完整id
docker-tools 给容器添加设备
docker-tools add-device [容器完整id]
pull镜像
docker pull [仓库地址]
push镜像
用户制作了自己的镜像后,希望将它上传至仓库
docker export命令导出容器
docker save命令保存镜像
目前存储系统的接口已经有aufs, btrfs, devicemapper, vfs,overlay,zfs这6种具体实现。
docker
查看当前使用的存储驱动:docker info
//停止运行中的docker引擎
systemctl stop docker
//启动docker引擎
systemctl start docker
//对原有数据Docker联合文件数据进行备份
cp -au /var/lib/docker /var/lib/docker.bk
创建一个名为our-volume的卷,命令如下:
docker volume create our-volume
检查卷的详细信息
docker volume ls
移除数据卷
docker volume remove our-volume
systemctl show –property=Environment docker
查看docker容器日志
通过docker logs命令可以查看容器的日志。
Docker修改空间大小
https://blog.csdn.net/chengxuyuanyonghu/article/details/76560166
docker容器内执行命令不自动换行
docker exec -it -e LINES=$(tput lines) -e COLUMNS=$(tput cols) 容器ID bash
常见问题
1.Is the docker daemon running?
service docker start
-
docker.service启动失败:Unit not found的原因及解决办法
https://blog.csdn.net/u013392078/article/details/103800411A.卸载docker,再重新安装,即可出现docker.socket。
B.创建docker.socket文件,然后systemctl daemon-reload,最后systemctl start docker.service,即可启动成功。
2.No space left on device
https://blog.csdn.net/yilvqingtai/article/details/122934209?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-122934209-blog-111244328.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3
https://www.cnblogs.com/54chensongxia/p/15138314.html
A.df -h或 du -sh * |G 找到用量最大的空间[maxSpace] 和可用的最大空间[avaliableSpace];
B.docker info |grep Root 找到docker的root目录[docker-root];
C.service docker stop 停docker服务;
D.mv [docker-root] [avaliableSpace];
E.构建软链接 ln -s [avaliableSpace] [docker-root];
F.service docker restart;