新建容器:docker [container] create
注:由于container可以省略,所以后续部分命令将进行省略。
使用docekr create创建的容器处于停止状态,可以使用docker start命令启动
例:
docker create -it busybox:latest
新建并启动容器:docker run
相当于docker create和docker start命令相结合。
启动容器后,可以通过docekr ps命令查看正在运行的容器。
例:
docker run ubuntu:latest /bin/echo ‘hello world’
hello world
使用docker run命令来创建并启动容器时,Docker在后台的操作流程如下:
-
检查本地是否存在指定镜像,如果没有就从公有仓库下载
-
利用镜像创建一个容器并启动
-
分配一个文件系统个容器,并在只读的镜像层外挂载一层可写层
-
从宿主机配置的网桥接口中桥接一个虚拟接口到容器中
-
从网桥的地址池中分配一个ip地址给容器
-
执行用户指定的应用程序
-
执行完毕后容器终止
有时执行docker run命令会无法正常执行容器会报错直接退出,常见的错误代码如下:
-
125:Docker daemon执行出错,例如指定了不支持的Docker命令参数
-
126:所指定命令无法执行,例如权限出错
-
127:容器内命令无法找到
create命令与容器运行模式/环境和配置常用选项:
| 选项 | 说明 |
| — | — |
| -d | 是否在后台运行容器,默认为否 |
| - -group-add=[] | 运行容器的用户组 |
| -i | 保持标准输入打开 |
| -P | 随机端口映射 |
| -p | 指定端口映射到本地端口,例 80:80 |
| - -restart=“always” | 容器的重启策略,包括no,always等 |
| - -rm=true/false | 容器退出后是否自动删除,不能与-d同时使用 |
| -t | 分配一个伪终端 |
| -v | 挂在主机上的文件卷到容器内 |
| -w | 容器内的默认工作目录 |
| - -device=[] | 映射物理机上设备到容器 |
| -e | 指定容器内环境变量 |
| -h | 指定容器内主机名 |
| - -ip=“” | 指定容器的ip地址 |
| - -link=[:aklias] | 链接到其他容器 |
| - -name | 指定容器的别名 |
暂停容器:docker pause
例:启动一个容器并将它暂停
docker run -d -p 80:80 --name web nginx:latest
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b52669a4ce3 nginx:latest “nginx -g 'daemon of…” 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp web
docker pause web
web
可通过docker unpause命令进行恢复。
停止容器:docker stop
将一个正在运行的容器停止。
可用docker container prune命令将停止的容器清除。
可用docker start命令将停止的容器启动。
总结
对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)
Java面试精选题、架构实战文档
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!
现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)
[外链图片转存中…(img-yMcqE0q1-1716216017868)]
Java面试精选题、架构实战文档
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!