1.概覽
- 獲取我自己做的docker
- 常用的docker指令
- 腳本啟動docker(使doocker能運行GUI程序)
2.獲取我自己做的docker
docker pull misaki25/myubuntu:v1.2
3.常用的docker指令
3.1 拉取鏡像
docker pull ...
3.2 查看鏡像
docker images
3.3 啟動鏡像
docker run -it <image> # i是交互寿冕, t是終端
3.4 刪除鏡像(注意與刪除容器區(qū)別)
docker rmi <image>
3.5 查看容器
# 所有容器
docker container ls -a
# 正在運行的容器
docker ps
3.6 啟動容器
docker start <CONTAINER_ID>
3.7 進入容器
docker exec -it <CONTAINER_ID> /bin/bash
# 可以自己寫bash然后執(zhí)行bash
docker exec -it <CONTAINER_ID> xxx.sh
3.8 容器創(chuàng)建鏡像
docker commit -m "..." -a "..." <CONTAINER_ID> <repository:tag>
# -m 備注
# -a 作者名
# repository, 和自己的dockerhub上的repository名要相同驼唱,之后才能push
3.9 Hyper-v下共享文件夾
# 在創(chuàng)建容器的時候掛載曙蒸, D:\\temp是windows下的目錄,即docker掛載到本地目錄
docker run -v D:\\temp:/dataset -it <IMAGE>
3.10 導入導出鏡像
# -o 輸出選項
docker save <Image> -o xxx.tar.gz
# -i 輸入選項
docker load -i <xxx.tar.gz>
4.腳本啟動docker
#!/bin/bash
## The bash to start my own docker for hit-os-lab
## Author: Misaki
# Get the image id of hit-os-lab
IMAGE_ID=$(docker images | grep misaki25/myubuntu | grep v1.2 | awk '{print$3}')
# Get the container id of hit-os-lab
CONTAINER_ID=$(docker container ls -a | grep misaki25/myubuntu:v1.2 | awk '{print$1}')
# Use x11 to display the gui application of hit_docker(Here is bochs)
run_docker(){
xhost +
docker run -it \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-e GDK_SCALE \
-e GDK_DPI_SCALE \
misaki25/myubuntu:v1.2
}
# Main
if [ ! $CONTAINER_ID ]; then
echo "We do not have the container and create now......"
echo "The id of image is $IMAGE_ID"
# run_docker
else
echo "The container exists and CONTAINER_ID is: $CONTAINER_ID"
#docker exec -it $CONTAINER_ID /bin/bash
arr=$(docker container ls -a | grep misaki)
#echo $arr
for word in $arr
do
#注意if[]里面的空格
if [ "$word" = "Exited" ]; then
echo "The container now is Exited and we start it"
docker start $CONTAINER_ID
break
fi
done
echo "Exec the container"
docker exec -it $CONTAINER_ID /bin/bash
fi
5.自己的版本更新
2021.9.7 misaki25/myubuntu:v1.3
使用mknod
添加了循環(huán)設(shè)備/dev/loop0
, 讓linux0.11的hdc能夠順利掛載在我們的docker上