docker命令笔记

这篇博客详细介绍了Docker的使用,从基础的docker命令如image操作、Dockerfile语法,到容器管理、资源限制。深入探讨了Docker网络,包括单机和多机的网络配置,并解析了数据持久化的多种方法。此外,还讲解了Swarm模式下的容器编排,包括服务部署、集群通信和Secrets管理。最后,提到了Docker Cloud的自动构建Docker镜像功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、docker命令

1. docker image 操作命令

  1. 查看系统所有image sudo docker image ls (or) docker images
  2. 安装 ubuntu 14.04 image sudo docker pull ubuntu:14.04
    安装bitnami的wordpress image sudo docker pull bitnami/wordpress
  3. 删除image docker image rm [image ID] (or) docker rmi [image ID]

2. Dockerfile 编译

  1. 将Dockerfile 编译成 image docker image build (or) docker build
  2. 在当前目录编译Dockerfile docker build -t xiaopeng163/hello-world .
  3. docker build --no-cache --rm --tag ${IMAGE_URI} -f Dockerfile .
  4. 查看image生成过程 docker history [image_ID]

3. 容器管理

  1. docker运行image docker run xiaopeng163/hello-world
    交互式运行ubuntu container - docker run -it ubuntu
    • 表示进入containe的 shell中 docker run -it [image] /bin/bash
    • 后台运行 docker run -d [image]
    • 指定容器名字 docker run -d --name=demo laosuaidami/flask-hello-world
  2. 当前本地正在运行的程序 docker container ls
  3. 所有的容器,包括正在运行的,和已经退出的 docker container ls -a or docker ps -a
  4. 删除容器,包括正在运行的,和已经退出的 docker container rm [container_ID] (or) docker rm [container_ID]
  5. docker container ls -aq (or) docker container ls -a|awk{'print$1'}
  6. 删除所有container docker rm $(docker container ls -aq)
  7. 删除已经结束的container docker rm $(docker container ls -f 'status=exited' -q)
  8. 修改container后变成新的image docker container commit (or) docker commit
    • docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
      eg:docker commit quirky_chatelet hewei/centos-vim-f
  9. 进入正在运行的container中 docker exec -it [container id] [要执行的命令]
    • docker exec -it 05554595249d /bin/bash
    • docker exec -it 05554595249d python
    • docker exec -it 05554595249d ip a 打印运行的容器IP地址
  10. 停止容器 docker stop/start [container id (or) container name]
  11. 查看容器信息 docker inspect [container id (or) container name]
  12. 查看容器日志docker logs [container id (or) container name]
  13. 查看安装logs sudo docker logs mysql1
  14. 查看volume sudo docker volume ls
  15. 删除volume sudo docker volume rm [volume ID]
  16. 设置镜像标签docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
    docker tag 6de222aa7640 xhy/centos7:v3
  17. 导出镜像 docker save -o centos-7.tar centos:7
  18. 导入镜像 docker load -i centos-7.tar
  19. 镜像管理
    https://www.lagou.com/lgeduarticle/26246.html
    https://www.moha.online/en/tutorial/docker/concise-user-guide

4. 查看官方命令文档

https://docs.docker.com/engine/reference/commandline/container/

5. docker hub 操作

1 登录退出docker hub docker login / docker logout docker login 输入账号,密码
2. 将docker推送到docker hub docker push laosuaidami/hello-world:latest
3. 通过docker registry 搭建本地docker hub : https://hub.docker.com/_/registry

  • 测试docker registry 是否搭建OK:telnet [ ip ] [ port ] yum install -y telnet

  • 新建image 注意tag docker build -t 192.168.10.159:5000/hello-world:latest

  • 添加对本地docker registry 的信任 : vi /etc/docker/daemon.json 加入以下内容

    { "insecure-registries":["192.168.10.159:5000"] }
    
  • vi /lib/systemd/system/docker.service 添加一行 EnvironmentFile=-/etc/docker/daemon.json 如下所示

    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    BindsTo=containerd.service
    After=network-online.target firewalld.service containerd.service
    Wants=network-online.target
    Requires=docker.socket
    
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    EnvironmentFile&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值