为了账号安全,请及时绑定邮箱和手机立即绑定

Docker基础运维

标签:
Docker

所有imageName都可以使用ID替代

build镜像

docker build 命令用于使用 Dockerfile 创建镜像。

docker build [OPTIONS] PATH | URL | -
  • **–build-arg=[] :**设置镜像创建时的变量;

  • **–cpu-shares :**设置 cpu 使用权重;

  • **–cpu-period :**限制 CPU CFS周期;

  • **–cpu-quota :**限制 CPU CFS配额;

  • **–cpuset-cpus :**指定使用的CPU id;

  • **–cpuset-mems :**指定使用的内存 id;

  • **–disable-content-trust :**忽略校验,默认开启;

  • **-f :**指定要使用的Dockerfile路径;

  • **–force-rm :**设置镜像过程中删除中间容器;

  • **–isolation :**使用容器隔离技术;

  • **–label=[] :**设置镜像使用的元数据;

  • **-m :**设置内存最大值;

  • **–memory-swap :**设置Swap的最大值为内存+swap,"-1"表示不限swap;

  • **–no-cache :**创建镜像的过程不使用缓存;

  • **–pull :**尝试去更新镜像的新版本;

  • **–quiet, -q :**安静模式,成功后只输出镜像 ID;

  • **–rm :**设置镜像成功后删除中间容器;

  • **–shm-size :**设置/dev/shm的大小,默认值是64M;

  • **–ulimit :**Ulimit配置。

  • –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

  • –network: 默认 default。在构建期间设置RUN指令的网络模式

    docker build -t imageName:tagName -f . --network host
    

运行镜像

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

参数:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

  • -d: 后台运行容器,并返回容器ID;

  • -i: 以交互模式运行容器,通常与 -t 同时使用;

  • -p: 端口映射,格式为:主机(宿主)端口:容器端口

  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

  • –name=“nginx-lb”: 为容器指定一个名称;

  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

  • –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

  • -h “mars”: 指定容器的hostname;

  • -e username=“ritchie”: 设置环境变量;

  • –env-file=[]: 从指定文件读入环境变量;

  • –cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;

  • **-m :**设置容器使用内存最大值;

  • –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

  • –link=[]: 添加链接到另一个容器;

  • –expose=[]: 开放一个端口或一组端口;

    docker run -d -p 8080:8080 --net host imageName 
    

启动停止等

docker start :启动一个或多个已经被停止的容器

docker stop :停止一个运行中的容器

docker restart :重启容器

docker start imageName(id)
docker stop imageName(id)
docker restart imageName(id)

kill容器

docker kill :杀掉一个运行中的容器。

docker kill -s KILL imageName(id)

查看容器

docker ps : 列出容器

docker ps [OPTIONS]
  • **-a :**显示所有的容器,包括未运行的。
  • **-f :**根据条件过滤显示的内容。
  • **–format :**指定返回值的模板文件。
  • **-l :**显示最近创建的容器。
  • **-n :**列出最近创建的n个容器。
  • **–no-trunc :**不截断输出。
  • **-q :**静默模式,只显示容器编号。
  • **-s :**显示总的文件大小。

创建容器

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

同 运行镜像

暂停恢复

docker pause :暂停容器中所有的进程。

docker unpause :恢复容器中所有的进程。

docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]

删除容器

**docker rm :**删除一个或多少容器

docker rm [OPTIONS] CONTAINER [CONTAINER...]
  • **-f :**通过SIGKILL信号强制删除一个运行中的容器
  • **-l :**移除容器间的网络连接,而非容器本身
  • -v :-v 删除与容器关联的卷

容器内执行命令

**docker exec :**在运行的容器中执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • **-d :**分离模式: 在后台运行
  • **-i :**即使没有附加也保持STDIN 打开
  • **-t :**分配一个伪终端
docker exec -it ID shell

查看Log

docker logs : 获取容器的日志

docker logs [OPTIONS] CONTAINER
  • -f : 跟踪日志输出
  • **–since :**显示某个开始时间的所有日志
  • -t : 显示时间戳
  • **–tail :**仅列出最新N条容器日志
docker logs  -f  ID

拉取镜像

docker pull : 从镜像仓库中拉取或者更新指定镜像

docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • **-a :**拉取所有 tagged 镜像
  • **–disable-content-trust :**忽略镜像的校验,默认开启
docker pull openjdk

删除镜像

docker rmi : 删除本地一个或多少镜像。

docker rmi [OPTIONS] IMAGE [IMAGE...]
  • **-f :**强制删除;
  • **–no-prune :**不移除该镜像的过程镜像,默认移除;
docker rmi -f openjdk
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
2674
获赞与收藏
170

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消