docker使用

isen
isen
发布于 2023-09-23 / 74 阅读 / 0 评论 / 0 点赞

docker使用

入门

docker

docker -h

docker run --help

# 根据镜像centos:centos7创建、运行容器,并执行/bin/echo,镜像不存在,则自动下载

# --name:容器名称

docker run --name centos-isen centos:centos7 /bin/echo "hello docker"

# -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

# -t: 在新容器内指定一个伪终端或终端。

# -d: 后台执行容器

docker run -itd centos:centos7 /bin/bash

# 查看容器

# -a: 所有状态容器,容器状态:

# created(已创建)

# restarting(重启中)

# running 或 Up(运行中)

# removing(迁移中)

# paused(暂停)

# exited(停止)

# dead(死亡)

docker ps -a

# 查看容器内的标准输出

# -f: tail -f 一样来输出容器内部的标准输出

docker logs -f <ContainerID|ContainerName>

# 停止容器

docker stop <ContainerID|ContainerName>

# 启动容器

docker start <ContainerID|ContainerName>

# 重启容器

docker restart <ContainerID|ContainerName>

# 通过attach进入容器,退出时会停止容器

docker attach <ContainerID|ContainerName>

# 通过exec进入容器(推荐)

docker exec -it <ContainerID|ContainerName> /bin/bash

# 删除容器

docker rm -f <ContainerID|ContainerName>

导出\导入容器

# 导出容器快照到my.tar

docker export <ContainerID|ContainerName> > my.tar

# 导入容器快照my.tar,并生成镜像isen/myimage:v1

cat my.tar | docker import - isen/myimage:v1

网络

# -P:将容器内部使用的网络端口随机映射到我们使用的主机上

docker run -itd --name centos-isen -P centos:centos7 /bin/bash

# -p: 将容器端口5000映射到宿主机端口8080上

docker run -itd --name centos-isen -p 8080:5000 centos:centos7 /bin/bash

# 查看容器端口映射

docker port <ContainerID|ContainerName>

查看容器

# 查看容器内进程,相当于在容器内执行top

docker top <ContainerID|ContainerName>

# 查看容器的配置和状态信息

docker inspect <ContainerID|ContainerName>