docker基本教程
1、安装教程
docker安装地址: https://docs.docker.com/engine/install/ubuntu/
安装:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
<!-- sudo docker run hello-world 验证操作 -->
卸载:
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
2、docker使用
下载镜像:
sudo docker pull ubuntu:18.04
查看镜像:
sudo docker images
从镜像生成容器:
sudo docker run -itd --name 名字 -p 6001:22 -p 6000:8080 -v 主机文件夹:容器文件夹 镜像ID /bin/bash
注:可以多个端口映射与文件夹映射
容器查看:
sudo docker ps -a
关闭容器:
sudo docker stop <容器ID>
开启容器:
sudo docker start <容器ID>
进入容器:
sudo docker exec -it <容器ID> /bin/bash
3、镜像与容器的保存
容器保存为镜像:
sudo docker commit -m "xxx" <容器ID> 镜像名:标签
镜像保存为本地文件:
```bash
sudo docker save -o xxx.tar <镜像ID | (镜像名:标签) >
ex.
sudo docker commit -m "vue3" 6844 ubuntu_vue:1.0
sudo docker save -o ubuntu_vue.tar ubuntu_vue:1.0
sudo docker commit -m "tyq" a6aeed169522 hwpytorch:1.5
sudo docker save -o hwpytorch.tar hwpytorch:1.5
4、镜像加载
sudo docker load -i xxx.tar
5、空间
查看空间:
sudo docker system df
全盘清理:
sudo docker system prune
build cache 清理:
sudo docker builder prune
数据卷清理:
sudo docker volume prune
镜像清理:
sudo docker rmi <镜像ID>
容器清理:
sudo docker rm -f <容器ID>
6、动态容器添加ip映射(非保存文件映射|端口映射)
sudo iptables -t nat -A DOCKER -p tcp --dport ${宿主机端口} -j DNAT --to-dest ${容器ip}:${容器端口}
sudo iptables -t nat -A POSTROUTING -p tcp -s ${容器ip} -d ${容器ip} --dport ${容器端口} -j MASQUERADE
sudo iptables -A DOCKER -p tcp -d ${容器ip} --dport ${容器端口} -j ACCEPT
注意:实测第二行指令不需要(ip伪装)
显示 规则
sudo iptables -t nat -vnL DOCKER --line-number
删除规则
sudo iptables -t nat -D DOCKER ${行号}
保存和重新加载路由
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
7、docker 容器设置远程访问
安装ssh:
apt-get install ssh
修改/etc/ssh/sshd_config
PermitRootLogin yes
重启服务
service ssh restart
8、docker中MySQL 数据库安装
mysql 5.7:
vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改:bind-address = 0.0.0.0
9、docker中的网络
共享主机 (host)
桥接(网桥)模式(bridge)
container模式(container)
10、别人的教程
华为dcoekr使用
https://bbs.huaweicloud.com/blogs/178430
docker 空间清理
https://cloud.tencent.com/developer/article/1581147
dockerhub私有化部署
Deploy a registry server | Docker Documentation](https://docs.docker.com/registry/deploying/)
dockfile构建
制作一个超级精简的 Docker 镜像只需7步 - SanSan-33的个人空间 - OSCHINA - 中文开源技术交流社区