每个步骤作者亲测,也是最全的教程
镜像加速
Windows 10
对于使用 Windows 10 的系统,在系统右下角托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Daemon。在 Registrymirrors 一栏中填写加速器地址 https://docker.mirrors.ustc.edu.cn/ ,之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了。
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/"
],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
},
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
}
}
ubuntu 镜像 安装
安装中
安装完成
启动容器
以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:
docker run -it ubuntu /bin/bash
界面就会多一个 “ubuntu”
参数说明:
- -i: 交互式操作。
- -t: 终端。
- ubuntu: ubuntu 镜像。
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
退出终端
要退出终端,直接输入 exit:
root@ef8e2ef7bdc6:/# exit
启动已停止运行的容器
查看所有的容器命令如下:
docker ps -a
和界面容器列表一致
使用 docker start 启动一个已停止的容器:
docker start ef8e2ef7bdc6
注意:只能输入ID启动
界面此时也显示启动了
先睡觉,已经凌晨了,明天继续;现在时间 2021-6-8 00:15 星期二
后台运行
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
docker run -itd --name ubuntu-test ubuntu /bin/bash
注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。
停止一个容器
停止容器的命令如下:
docker stop <容器 ID>
进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
exit //退出容器
attach 命令
下面演示了使用 docker attach 命令。
docker attach <id>
例:
docker attach ef8e2ef7bdc6
注意: 如果从这个容器退出,会导致容器的停止。
exec 命令
下面演示了使用 docker exec 命令。
docker exec -it ef8e2ef7bdc6 /bin/bash
这个命令 从容器退出时,不会导致容器停止
注意: 如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。
更多参数说明请使用 docker exec --help 命令查看。
导出、导入和删除容器
导出容器
如果要导出本地某个容器,可以使用 docker export 命令。
docker export ef8e2ef7bdc6 > ./ubuntu.tar
这样将导出容器快照到本地文件。
我的是win10系统,
文件路径:C:\Users\cheng
在这里路径下就可以找到刚才导出的文件了
这里啰嗦下".tar"是Linux系统的压缩文件
导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
这个 问题搞了好久,因为我是win10 所以有些命令是用不了的 ;
例如官方推荐
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
这个命令在win10上用不了,一直报错;
所以我就想到了看 帮助文档,命令如下
docker import --help
C:\Users\cheng>docker import --help Usage: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] Import the contents from a tarball to create a filesystem image Options: -c, --change list Apply Dockerfile instruction to the created image -m, --message string Set commit message for imported image --platform string Set platform if server is multi-platform capable
win10执行代码
docker import ubuntu.tar test20210608ubuntu:v1
查看导入的快照
命令
docker images
删除容器
删除容器使用 docker rm 命令:
docker rm -f 0c9ed5c5f078
这里说明下"-f"的意思是“强制执行”
C:\Users\cheng> docker rm --help Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] Remove one or more containers Options: -f, --force Force the removal of a running container (uses SIGKILL) -l, --link Remove the specified link -v, --volumes Remove anonymous volumes associated with the container
运行导入的快照
从文档上看,导入的“快照”不叫快照应该是“镜像”
查看快照命令
docker images
C:\Users\cheng>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test20210608ubuntu v1 70e329395e9d 21 minutes ago 72.7MB
test/ubuntu v1 3d0088a9c1d1 26 minutes ago 72.7MB
<none> <none> 15fcdce7a648 38 minutes ago 0B
ubuntu latest 7e0aa2d69a15 6 weeks ago 72.7MB
hello-world latest d1165f221234 3 months ago 13.3kB
各个选项说明:
-
REPOSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
运行快照(镜像)
docker run -t -i test20210608ubuntu:v1
参数说明:
- -i: 交互式操作。
- -t: 终端。
- test20210608ubuntu:v1: 这是指用" test20210608ubuntu"的"v1" 版本镜像为基础来启动容器。
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
容器使用到此就全部写完了,各位看官辛苦!
又是一个凌晨 20210609 0:27