xmtrock
发布于 2021-08-17 / 405 阅读
0

Docker

查看容器

docker ps//docker ps -a//docker ps -l

CONTAINER ID:CONTAINER ID是指容器的id,是一个唯一标识符,这是一个64位的十六进制整数,在不会混淆的情况下可以只采用id的前几位进行标识一个容器。
IMAGE:IMAGE表示创建容器时使用的镜像。
COMMAND:COMMAND表示容器最后运行的命令。
NAMES:容器的名字,如果不设置,会有一个默认的名字。

创建容器

docker create nginx
docker create --name=nginx nginx

后台型容器创建

-d 表示容器在后台运行,-p 表示将容器的 80 端口映射到宿主机的 8080 端口

docker run --name nginx1 -d -p 8080:80 nginx

容器启动

如果开发者使用了 docker run 命令创建了容器,则创建完成后容器就已经启动了,如果使用了 docker create 命令创建了容器,则需要再执行 docker start 命令来启动容器,使用 docker start 命令结合容器 id 或者容器 name 可以启动一个容器

容器停止

docker stop nginx1

容器删除

docker rm nginx1
docker ps -a -q 会列出所有容器的 id ,供 rm 命令删除。

容器内执行命令

docker exec

查看容器信息

docker inspect nginx1
docker inspect -f='{{.NetworkSettings.IPAddress}}' nginx1

查看容器进程

docker top nginx1

查看容器日志

-f是可以查看实时日志,否则只能看历史

docker logs -f nginx1

容器导出
先复制点东西进去

docker cp running.txt nginx1:/usr/share/nginx/html/

然后备份tar出来,里面会包含复制进去的东西

docker export nginx1 > ./nginx1backer.tar

容器导入

docker import ./nginx1backer.tar nginx:importone

此时要用docker images才看到镜像,要docker run运行image

docker run --name nginx1 -d -p 8162:80 nginx:importone /bin/bash
docker run --name nginx1 -d -p 8162:80 nginx:importone nginx -g 'daemon off;'

容器导出2
先创建快照出来,根据id,在docker images里就能看到REPOSITORY

docker commit -p 84d013577b32 container-backup

然后save出来

docker save -o ./containerback.tar container-backup

然后就可以删除REPOSITORY

docker rmi container-backup

容器导入2
先load

docker load -i ./containerback.tar

再run

docker run -d -p 8162:80 container-backup