Docker容器中安装Docke进行自定义镜像

背景

最近开发cicd项目,在流水线中需要自定义一些镜像进行特殊业务处理。所以需要构建自定义镜像。
本文是Docker中安装Ubuntu容器,然后在这个Ubuntu容器中再安装Docker

系统环境

centos7
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

在这里插入图片描述

  1. 安装必备软件、配置容器
# 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

  1. 安装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

时区选择
在这里插入图片描述

在这里插入图片描述
此时可能会出现一下问题

bash: sudo: command not found

容器内避免使用root,建立新用户执行命令 使用sudo ,提示如下

bash: sudo: command not found

解决办法

apt-get update

apt-get install sudo

执行docker命令会出现这样的问题
在这里插入图片描述

  1. 打包镜像、重新启动容器,挂载/var/run/docker.sock路径
# 11. 先保存当前镜像
docker commit -a "peishunwu" -m "add docker and tools" d5884406725a dockerubuntu
# 12. 运行新的容器
docker run -itd --name ubuntu_trivy2  -v /var/run/docker.sock:/var/run/docker.sock  b18056c8c1f6 /bin/bash

在这里插入图片描述

-a:创建者名字,自定义
-m:提交内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值