Docker容器基本使用
概要: 学习Docker容器启动、停止、删除等基本操作
创建时间: 2023.08.03 00:35:12
更新时间: 2023.08.03 00:48:39
启动容器
Bash |
---|
| sudo docker run -i -t ubuntu /bin/bash
|

说明
- 参数
-i
:保证容器开启STDIN,可以进行持久化的命令行交互操作
- 参数
-t
:告诉Docker为创建的容器分配一个伪tty终端
- 参数
-i
和-t
可以连写为-it
- 镜像
ubuntu
如果本地不存在,则会从Docker Hub下载并保存到本地
- Docker使用镜像创建新的容器后,执行
/bin/bash
命令,进入了容器内部的shell
使用容器
检查容器进程
在容器内安装软件
Bash |
---|
| apt-get update && apt-get install vim
|
列出容器
Bash |
---|
| docker ps # 列出正在运行的容器
docker ps -a # 列出所有容器
docker ps -l # 列出最后一个运行的容器
|

注意,指代容器的三种方式
- 短的UUID,即
docker ps
命令下的${CONTAINER ID}
字段
- 长的UUID,在容器对应的文件夹内可以发现
- 容器名称,即
docker ps
命令下的${NAMES}
字段
重命名容器
Bash |
---|
| sudo docker run --name lzwang_container -it ubuntu /bin/bash
|
启停容器
启动已经停止的容器
Bash |
---|
| sudo docker start lzwang_container # 使用容器名称启动
sudo docker start 6cb71ec36ae1 # 使用容器ID启动
|
重启容器
手动重启容器
Bash |
---|
| sudo docker restart lzwang_container # 使用容器名称重启
sudo docker restart 6cb71ec36ae1 # 使用容器ID重启
|
创建自动重启的容器
Bash |
---|
| sudo docker run --restart=always --name lzwang_container -d # 总是自动重启
sudo docker run --restart=on-failure:5 --name lzwang_container -d # 最多重启5次
|
停止已启动的容器
Bash |
---|
| sudo docker stop lzwang_container # 使用容器名称停止
sudo docker stop 6cb71ec36ae1 # 使用容器ID停止
|
使用守护式容器
创建守护式容器
Bash |
---|
| sudo docker run --name lzwang_container_2 -it -d ubuntu /bin/bash
|
查看守护式容器进程
Bash |
---|
| sudo docker top lzwang_container_2
|
查看容器日志
Bash |
---|
| sudo docker run --name lzwang_container_2 -it -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
sudo docker logs lzwang_container_2
sudo docker logs -f lzwang_container_2 # 参数 -f 表示跟踪 log 输出
sudo docker logs -tf lzwang_container_2 # 参数 -t 表示打上时间戳,跟踪 log 输出
sudo docker logs --tail 10 -f lzwang_container_2 # 参数 --tail 10,获取日志最后10行内容
|
深入查看容器
Bash |
---|
| sudo docker inspect lzwang_container_2
|
提示
inspect
参数后可以接多个容器,空格分割

删除容器
删除单个容器
删除已停止的容器
Bash |
---|
| sudo docker rm lzwang_container_2 # 使用名称删除
sudo docker rm c507aa019948 # 使用ID删除
|
删除正在运行的容器
Bash |
---|
| sudo docker rm -f lzwang_container_2 # 使用名称删除
sudo docker rm -f c507aa019948 # 使用ID删除
|
删除所有容器
Bash |
---|
| sudo docker rm `sudo docker ps -a -q` # 不包含已启动的容器
sudo docker rm -f `sudo docker ps -a -q` # 包含已启动的容器
|
参考