赞
踩
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER
sudo chmod 666 /var/run/docker.sock
# 基础命令
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
# 如果没有systemctl,要么装命令,要么使用service命令替代
service docker start
service docker status
# 停止全部容器
docker stop $(docker ps -a -q)
# 删除全部容器,除了正在运行的
docker rm $(docker ps -a -q)
第一层:linux(完整)
第二层:docker(完整)
第三层:Ubuntu(阉割)
第四层:docker(无实际第四层,挂载在第二层的docker上)
# 将外层docker进行挂在
docker run -it -d -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --name u1 ubuntu
# 以下两种方式进入皆可以
docker exec -it u1 /bin/sh
docker exec -it u1 /bin/bash
第一层:linux(完整)
第二层:docker(完整)
第三层:直接运行docker:dind容器,独立的docker容器,可以独立运行docker命令,不予第二层关联
docker run --privileged -d --name d1 docker:dind
# 只可以用bin/sh模式
docker exec -it d1 /bin/sh
第一层:linux(完整)
第二层:docker(完整)
第三层:linux(基础版本,非完整linux,命令不完整、权限不完整;缺少的命令可以按照完善)
第四层:docker(无法正常运行,缺少权限)
apt-get update apt-get install lsb-release apt install net-tools apt install iputils-ping apt-get install sudo sudo apt install systemctl sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release apt-get install -y systemd sudo mkdir -p /etc/apt/keyrings curl -fsSL http://mirrors.aliyun.com/docker-ce/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] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
docker run -it ubuntu:20.04 docker run --privileged=true --network=docker-bridge -itd ubuntu /usr/sbin/init docker run --privileged=true -itd ubuntu /usr/sbin/init docker run ubuntu --privileged=true -it /usr/sbin/init docker run ubuntu --privileged=true -it docker run -itd --privileged=true --name myubuntu1 ubuntu /usr/sbin/init docker run -itd --privileged=true --name myubuntu2 ubuntu /usr/sbin/init docker exec -it b048aa891842 /bin/bash apt-get install -y tini ENTRYPOINT ["/usr/local/bin/tini", "--"] docker exec -it b048aa891842 /usr/sbin/init docker exec -it 47d88c363fe0 /bin/bash docker restart b048aa891842
权限问题始终未解决
主要有以下几个问题
1、以init进入容器(第三层)
2、root权限
3、docker.sock的权限
1、完善容器里面的ubuntu系统,或者直接用完整的ubuntu系统制作镜像
2、试图取得容器里面ubuntu系统的各种权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。