前言
Docker 是一个开源的应用容器引擎,跨平台,可移植性好。自2013年来非常火热,本篇文章总结实际应用过程中常用命令和遇到问题的解决办法
常用命令
查看容器
docker ps #当前正在运行
docker ps -a #所有
进入容器内部
docker exec -it mariadb bash
起停
docker start mariadb
docker stop mariadb
查看镜像
docker images
查看日志
docker logs -f --tail 30 mariadb
清理容器相关
#清理已经停止的容器
docker rm -v $(docker ps --all --quiet --filter 'status=exited')
#清理磁盘卷,上面的命令应该删除与该容器关联的卷。如果你手动创建卷,并要删除任何未被使用的卷:
docker volume rm $(docker volume ls --quiet --filter 'dangling=true')
#清理镜像
docker rm --force $(docker images --quiet)
#清理网络
docker network rm $(docker network ls --quiet)
#使用 docker-compose清理
docker-compose down --volumes --rmi all --remove-orphans
#清理停止的镜像
docker container prune
#删除一切
docker system prune --all --force --volumes
基本使用
制作基于centos7的宝塔版做实验
#拉取镜像
docker pull centos:7
#启动,并赋予root权限
docker run -d -p 2888:8888 -p 803:80 --name centos79-baota --privileged=true docker.io/centos:7 /usr/sbin/init
#进入镜像,安装宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#docker制作宝塔镜像
docker commit -m 'centos79-宝塔' -a 'xwzy' centos79-baota xw/centos7.9_bt:v1
#启动新镜像
docker run -d -p2889:8888 -p804:80 --name bt-leadshop --privileged=true xw/centos7.9_bt:v1 /usr/sbin/init
镜像迁移恢复
#导出
docker commit bt-zhongfu bt-zhongfu:latest
docker save -o bt-zhongfu.tar bt-zhongfu:latest
#恢复
docker load < bt-zhongfu.tar
docker安装go环境做实验
#搜索安装
docker search go
docker pull docker.io/golang
#查看images
docker images
#启动
docker run -it --rm golang bash
go version
docker启动centos8测试zabbix
#搜索centos
docker search centos
docker pull centos:8
#启动镜像
docker run -d -p 80:801 --name zabbix54 --privileged=true 300e315adb2f /usr/sbin/init
#进入镜像做实验
docker exec -it zabbix54 /bin/bash
常见问题(FAQ)
网络不通
centos7.9中网络docker之间网络不通的问题
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
grub2-set-default 0
uname -a
更换国内源
**拉取镜像有点慢,切换到国内源
cat << EOF >/etc/docker/daemon.json
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
EOF
#重启服务
systemctl restart docker
在不停止docker的情况下更新iptables
iptables -I INPUT 5 -p tcp -m tcp --dport 3001 -j ACCEPT
评论 (3)