Published on

日常使用的容器镜像操作命令

Authors

构建镜像

docker build -t user-manage:v1.0 .

运行容器镜像

docker run --rm -d -p 8089:80 --name k8s-installer-test -v ~/gitlab/k8s-installer-ui/dist:/usr/share/nginx/html -v ~/default.conf:/etc/nginx/conf.d/default.conf nginx

# --rm container 停止后删除 container
# -d 后台运行容器
# -p 80:80 前者本地端口,后者是 dockerfile 暴露端口
# --name 指定容器名称
# -v 挂载替换容器内指定文件

将镜像打成 tar 包

docker save user-manage:latest > ~/Downloads/usermanage.tar

或者打成 gz, 压缩包会小很多

docker save myimage:latest | gzip > myimage_latest.tar.gz

上传 tar 包到指定服务器

scp ~/Downloads/usermanage.tar root@172.16.60.99:/tmp/

从服务器下载 tar 包到本地

scp -r caas-aio:~/tmp/origin-web-console.tar ~/Downloads/test/

从 tar 包加载镜像

docker load < /tmp/usermanage.tar
# 可以查看到
docker images

给镜像重新打 tag

docker tag user-manage:latest docker.io/user-manage:latest

进入容器内部

# 镜像 id
docker exec -it 73bee1a2a355 /bin/bash
# 或者 /bin/sh

查看镜像元数据,常用来查看 commit-id

docker inspect <image-id>

删除 images

docker rmi $(docker images | grep '^<none>' | awk '{print $3}')