1 查看docker进程
sudo docker ps # 查看进程关键信息(当列比较多时容易折行显示,不利于观察) sudo docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Ports}}"
2 进入容器
sudo docker exec -it 75a7cb750bcc(这是docker ID) /bin/bash
# 以root身份进入容器,可apt install软件包sudo docker exec -u root -it <container_id> bash
3 查看容器详情信息
sudo docker inspect [jenkins-container] # 后面这个参数可以是ID或名称
# 这里显示的Mount相关信息就是docker与宿主机之间的目录映射关系sudo docker inspect [jenkins-container] | grep '"Mounts":' -A 20 # 显示挂载部分的前20行,便于专注查看Mounts关系
4 查看本地镜像列表
sudo docker images -a # 这里面展示全部镜像,其中IMAGE ID与ps中IMAGE相对应
5 基于Python311的基础镜像自定义一个带Jenkins
(1)第一步:在一个空文件夹中创建一个文本文件Dockerfile,写入如下内容:
# 使用阿里云的 Python 基础镜像(已包含 Python 3.11) FROM alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/python:3.11 # 安装 Java 17(Jenkins 依赖 Java) RUN yum install -y java-17-openjdk wget
# 创建 .pip 目录并写入pip配置 (让pip使用阿里云源,对于安装Python依赖很关键!)
RUN mkdir -p ~/.pip && \
echo "[global]" > ~/.pip/pip.conf && \
echo "index-url = https://mirrors.aliyun.com/pypi/simple/" >> ~/.pip/pip.conf
# 安装 Jenkins RUN \ # 下载 Jenkins 官方仓库配置文件并导入 GPG 密钥 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo \ && rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key \ && yum install -y --nogpgcheck jenkins \
&& yum clean all # 暴露 Jenkins 默认端口(8080)和代理端口(50000) EXPOSE 8080 50000 # 设置容器启动命令(运行 Jenkins 服务) # CMD ["java", "-jar", "/usr/lib/jenkins/jenkins.war"]
CMD ["/bin/bash"]
(2)创建自定义镜像
# 构建镜像(名称为 my-jenkins-python,标签为 1.0) docker build -t my-jenkins-python:1.0 .
(3)启动自定义镜像
docker run -it -d \ --name my-jenkins \ -p 9091:8080 \
-v /etc/localtime:/etc/localtime \ -v /data/jenkins-home:/var/jenkins_home \ my-jenkins-python:1.0
6 清理无用镜像
# 步骤 1: 查看所有镜像 docker images -a # 步骤 2: 删除指定镜像(假设 ID 为 ea84e21b09ec) docker rmi ea84e21b09ec # 步骤 3: 如果删除失败(镜像被容器使用),先查找并删除容器 docker ps -a --filter ancestor=ea84e21b09ec docker stop <container_id> docker rm <container_id> docker rmi ea84e21b09ec # 步骤 4: 清理悬空镜像 docker image prune

浙公网安备 33010602011771号