Docker 容器中安裝 Docker


本文講的是在Docker中安裝Ubuntu容器,然后在這個Ubuntu容器中再安裝Docker。或許這樣可以省下買服務器的錢,當然這只是為了學習測試使用,真正項目上還是需要買服務器的。

系統環境

Linux: WSL2 Ubuntu 20.04
Docker: 20.10.8

執行步驟

1. 拉取鏡像、啟動容器、復制文件到容器內

# 1. 下載官方ubuntu
docker pull ubuntu:20.04
# 2. 運行容器 ub1
docker run -it --name ub1 ubuntu:20.04
    # 按下 Ctrl + P + Q 讓容器后台運行

# 3. 將家目錄下的必要文件復制到容器中
docker cp .bash_logout ub1:/root
docker cp .bashrc ub1:/root
docker cp .profile ub1:/root

2. 安裝必備軟件、配置容器

# 4. 進入容器
docker attach ub1
# 5. 更新軟件源並安裝必備軟件
apt update & apt install -y vim curl net-tools iproute2 iputils-ping
# 6. 進入家目錄
cd ~
# 7. 修改復制進來的文件的所有者
chown root.root .bash* .profile
# 8. 設置用戶名高亮:進入 .bashrc,追加下面內容
vim ~/.bashrc

# ================ 追加的內容 start ===============
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34;40m\]\u\[\033[00;00;40m\]@\[\033[01;33;40m\]\h\[\033[00;31;40m\]:\[\033[00;00;40m\]\w \[\033[01;32;40m\]\$ \[\033[01;36;40m\]'
# ================ 追加的內容 end   ===============
# 8. 更新配置信息
source ~/.bashrc

3. 安裝Docker

# 9. 安裝Docker
# 9.1 移除舊版本
apt-get remove docker docker-engine docker.io containerd runc
# 9.2 安裝工具包
apt update & apt-get install -y ca-certificates curl gnupg lsb-release
# 9.3 添加 GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 9.4 設置Docker倉庫
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] 
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# 9.5 安裝 Docker Engine
apt update & apt-get install -y docker-ce docker-ce-cli containerd.io
# 9.6 安裝后需要選時區

# 10. 查看Docker
    # 發現只有 Docker Engine
docker version

4. 打包鏡像、啟動容器

# 11. 先保存當前鏡像
docker commit -a "bpf" -m "add docker and tools" ub1 dockerubuntu
# 12. 運行新的容器
docker run -it --name ub2 --hostname docker1 \
-v /var/run/docker.sock:/var/run/docker.sock \
--network mynet dockerubuntu

:如果是安裝其他Linux發行版也是類似的步驟,需要把最初的Ubuntu:20.04換成對應的鏡像,和在官方文檔中查找對應版本的下載Docker的步驟。

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM