Docker的使用

Docker的使用

Docker常用命令

1
2
3
4
5
# 启用Ptrace方便调试
docker run -it [--name <name>] <image> --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
docker attach <name> #附加到容器
docker logs -ft <name> #查看容器日志
docker exec -u root -it <name> /bin/bash #以 root 身份登入容器

Docker合并镜像所有层

1
2
3
FROM <image>:<tag> as base
FROM scratch
COPY --from=base / /

为创建好的容器修改配置

  • 关闭docker服务
1
2
sudo systemctl stop docker.socket docker.service
cd /var/lib/docker/containers/<container-hash>
  • 添加端口
1
2
3
4
# 修改hostconfig.json
"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"80"}]}
# 修改config.v2.json
"ExposedPorts":{"80/tcp":{}}
  • 启用Ptrace
1
2
3
4
# 启动容器前: 增加`--cap-add=SYS_PTRACE`
# 启动容器后: 修改hostconfig.json
"CapAdd":["SYS_PTRACE"],
"SecurityOpt":["seccomp=unconfined"]