由于docker轻便的特性,其广泛应用于软件生命周期的各个环节,软件的开发、测试甚至产品发布都会使用到docker,这里便总结一些docker经常使用的一些命令,方便应对使用docker时需要的的各个场景。
镜像管理
1.拉取镜像
docker pull 镜像名:标签
# 下载特定版本的 Ubuntu
docker pull ubuntu:22.04
2.删除镜像
docker rmi 镜像名:标签 根据镜像名删除镜像
docker rmi 镜像ID 根据进行ID删除镜像
3.构建镜像
docker build 镜像名
# 使用当前路径下的Dockerfile构建镜像名为my-app:v1的镜像
docker build -t my-app:v1.0 .
4.tar包操作
docker load xxx.tar# 将my-app-v1.0.tar文件导入为镜像
docker load -i my-app-v1.0.tardocker save -o xxx.tar 镜像名# 将my-app:v1的镜像导出为tar文件
docker save -o my-app-v1.0.tar my-app:v1
容器管理
1.创建容器
docker run [选项] 镜像名 [命令]
# 创建Ubuntu22.04容器并启动容器终端
docker run -it ubuntu:22.04 /bin/bash
[核心选项]
-d:后台运行容器(守护进程模式)
-it:交互模式运行容器(通常与/bin/bash连用)
--name:为容器指定一个名称
-p:端口映射(格式:宿主机端口:容器端口)
-v:挂载数据卷(格式:宿主机目录:容器目录)
--rm:容器退出时自动删除(常用于临时测试)
2.启动/停止/重启容器
docker start 容器名
docker stop 容器名
docker restart 容器名
3.进入容器
以下是两种与docker容器交互的命令,推荐使用docker exec进入容器:
docker exec 容器名 命令# 进入容器名为ubuntu的命令行终端
docker exec -it ubuntu /bin/shdocker attach 容器名# 进入容器名为ubuntu的命令行终端
docker attach ubuntu
4.删除容器
docker rm 容器名
# 删除已停止的ubuntu容器
docker rm web
# 删除所有已停止的容器
docker rm $(docker ps -aq)
信息查看
1.查看容器信息
docker ps
# 查看正在运行的容器
docker ps
# 查看所有容器
docker ps -a
2.查看镜像信息
docker images 查看本地所有镜像
docker images nginx 只列出nginx相关镜像
3.查看容器日志
docker logs [选项] 容器名
# 查看ubuntu容器的所有日志
docker logs ubuntu
# 实时查看查看ubuntu容器最后50行日志
docker logs -f --tail 50 ubuntu
4.查看容器/镜像的详情信息
docker inspect 容器名/镜像名
5.查看容器端口映射情况
docker port 容器名
6.查看容器占用资源
docker stats
# 查看ubuntu容器的资源占用
docker stats ubuntu
# 查看全部运行容器的资源占用
docker stats
容器程序安全防护
在Docker容器中部署应用程序时,安全因素至关重要,尤其在通过容器进行交付的场景下,保障代码不被窃取或泄露更是重中之重。
Virbox Protector工具可以全面保护docker中的程序,运行在docker容器中的java、python以及本地的elf和so文件,都可以使用Virbox Protector工具进行保护,针对不同的文件类型会提供对应的安全策略来保护程序中的代码,确保程序在docker容器中安全运行。