1 安裝
使用官方的腳本自動安裝:
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
執(zhí)行完之后如果使用docker需要加sudo蛙卤,可以給docker增加root權(quán)限:
sudo chmod +s /usr/bin/docker
2 拉取docker鏡像
docker run -t -i ubuntu:22.04 /bin/bash
這條指令是用于在 Docker 中啟動一個交互式的 Ubuntu 22.04 容器鞠苟,并在容器內(nèi)運行 /bin/bash 終端全跨。
docker run: 這是 Docker 命令的一部分,用于啟動一個新的容器成肘。
-t: 此選項表示分配一個偽終端(TTY)卖局,這樣你可以與容器的終端進行交互。
-i: 此選項表示保持 STDIN 打開双霍,這也是為了允許你與容器的終端進行交互砚偶。
ubuntu:22.04: 這是要基于的容器鏡像。ubuntu:22.04 表示使用 Ubuntu 22.04 版本的官方容器鏡像店煞。
/bin/bash: 這是在容器內(nèi)要執(zhí)行的命令蟹演。在這里,我們指定啟動 /bin/bash 終端顷蟀,從而進入容器的交互式終端環(huán)境
3 commit鏡像
image.png
docker commit -m="has update" -a="kui" 2486c2aae5b2 ubuntu:22.04
-m: 提交的描述信息
-a: 指定鏡像作者
01f29b872827:容器 ID
ubuntu:22.04: 指定要創(chuàng)建的目標(biāo)鏡像名
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 導(dǎo)出和導(dǎo)入image
docker commit <container_name_or_id> <new_image_name>:<tag> //保存修改
docker save -o image_export.tar <new_image_name>:<tag> //導(dǎo)出
docker load -i image_export.tar