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.pngdocker commit -m="has update" -a="kui" 2486c2aae5b2 ubuntu:22.04
-m: 提交的描述信息
-a: 指定镜像作者
01f29b872827:容器 ID
ubuntu:22.04: 指定要创建的目标镜像名
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
网友评论