美文网首页
1. Docker镜像使用

1. Docker镜像使用

作者: Savior2016 | 来源:发表于2023-08-28 19:45 被阅读0次

1 安装

使用官方的脚本自动安装:

 curl -fsSL https://test.docker.com -o test-docker.sh
 sudo sh test-docker.sh

执行完之后如果使用docker需要加sudo,可以给docker增加root权限:

sudo chmod +s /usr/bin/docker

2 拉取docker镜像

docker run -t -i ubuntu:22.04 /bin/bash

这条指令是用于在 Docker 中启动一个交互式的 Ubuntu 22.04 容器,并在容器内运行 /bin/bash 终端。

docker run: 这是 Docker 命令的一部分,用于启动一个新的容器。
-t: 此选项表示分配一个伪终端(TTY),这样你可以与容器的终端进行交互。
-i: 此选项表示保持 STDIN 打开,这也是为了允许你与容器的终端进行交互。
ubuntu:22.04: 这是要基于的容器镜像。ubuntu:22.04 表示使用 Ubuntu 22.04 版本的官方容器镜像。
/bin/bash: 这是在容器内要执行的命令。在这里,我们指定启动 /bin/bash 终端,从而进入容器的交互式终端环境

3 commit镜像

image.png
docker commit -m="has update" -a="kui" 2486c2aae5b2 ubuntu:22.04

-m: 提交的描述信息
-a: 指定镜像作者
01f29b872827:容器 ID
ubuntu:22.04: 指定要创建的目标镜像名

image.png

4 启动docker的脚本

#!/bin/bash

declare -A container

container=(
    [build]="ubuntu:22.04"
)

_USER=$(whoami)

function run_docker() {
    container_name=${1:-'build'}

    echo "===================================================================================="
    echo ""
    echo " docker run -it -e DISPLAY=unix$DISPLAY -v /home/$_USER:/workspace $container_name-$_USER ${container[$container_name]} /bin/bash"
    echo ""
    echo "===================================================================================="
    echo ""

    docker_pid=$(docker ps | grep $container_name-$_USER | awk -F " " '{print $1}')
    if [ "$docker_pid" != "" ]; then
        docker exec -it $docker_pid "/bin/bash"
    else
        docker run \
            -e DISPLAY=unix$DISPLAY \
            -v /home/$_USER/workspace:/workspace \
            -w /workspace \
            -it \
            --rm \
            -d \
            --name $container_name-$_USER ${container[$container_name]} "/bin/bash"

        docker_pid=$(docker ps | grep $container_name-$_USER | awk -F " " '{print $1}')
        docker exec -it $docker_pid "/bin/bash"
    fi
}

run_docker $1

5 导出和导入image

docker commit <container_name_or_id> <new_image_name>:<tag> //保存修改
docker save -o image_export.tar <new_image_name>:<tag> //导出
docker load -i image_export.tar

相关文章

网友评论

      本文标题:1. Docker镜像使用

      本文链接:https://www.haomeiwen.com/subject/veygmdtx.html