docker 命令详解
环境信息与Repo
Docker - 实现本地镜像的导出、导入(export、import、save、load)
docker info [option]
docker info --format '{{json .}}'
docker info [option]
docker version --format '{{.Server.Version}}'
镜像管理
| Command | Description | Example |
|---|---|---|
| docker search | 搜索镜像 | docker search nginx |
| docker image ls | 列出所有镜像 | docker image ls -f dangling=true / docker images |
| docker image build | 从Dockerfile建立一个镜像 | docker image build -t image:1.0 -f /root/Dockerfile |
| docker image tag | 给镜像重新打标签 | docker image tag nginx:latest nginx:v1 |
| docker image pull | 从镜像仓库拉取镜像 | docker image pull nginx:latest |
| docker image push | 上传镜像到镜像仓库 | docker image push ngxin:v1 |
| docker image inspect | 查看一个或多个镜像信息 | docker image inspect nginx:latest |
| docker image save | 保存一个或多个镜像为tar文件 | docker image save -O images.tar postgres:9.6 mongo:3.4 |
| docker image load | 加载镜像从tar文件 | docker image load -i < images.tar |
| docker image rm | 删除一个或多个镜像 | docker image rmi nginx:latest |
| docker image imprt | 从tar中导入内容创建镜像 | docker image import nginx.tar nginx:v1 |
| docker image history | 显示镜像的历史 | docker image history nginx |
| docker image prune | 删除未被使用的镜像 | / |
容器管理
| Command | Description | Example |
|---|---|---|
| docker container ps / ls | 列出所有容器 | docker container ls -a / docker ps |
| docker container inspect | 显示一个或多个容器信息 | docker container inspect [ubuntu |
| docker container run | 从镜像创建及运行新容器 | docker container run -itd --name ubuntu ubuntu:latest bash |
| docker container exec | 进入容器执行命令 | docker container exec -it unbuntu bash |
| docker container attach | 将本地标准输入、输出和错误流附加到一个正在运行的容器上(attach 进入容器后退出,容器也会停止,建议使用exec) | docker container attach ubutun |
| docker container top | 显示容器运行的进程 | docker container top ubuntu / caf5 |
| docker container kill | Kill one or more running containers | docker container kill [ubuntu |
| docker container logs | 获取(Fetch)容器日志 | docker container logs -f [ubuntu |
| docker container start | 启动一个或多个容器 | docker container start container_name / ID |
| docker container stat | 显示容器资源使用统计的实时流(可以使用top) | docker container stats container_name / ID |
| docker container stop | 停止一个或多个容器 | docker container stop container_name / ID |
| docker container restart | 重启一个或多个容器 | docker container restart container_name / ID |
| docker container export | 将一个容器(根据容器 ID)的文件系统导出为一个tar归档文件 | docker container export 1e560fca3906 > ubuntu.tar |
| docker container rm | 删除一个或多个容器 | docker container rm ubuntu |
| docker container cp | 在一个容器和本地文件系统之间复制文件/文件夹 | docker container cp ./some_file CONTAINER:/work |
| docker container prune | 移除所有停止的容器 | docker container prune |
| docker container port | 列出容器的端口映射或特定映射 | docker container port container_name / ID |
| docker container rename | 重命名容器 | docker container rename CONTAINER NEW_NAME |
| docker container commit | 从一个容器的变化中创建一个新的镜像 | docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] |
| docker container create | 创建一个新的容器 | docker container create -i -t --name mycontainer ubuntu |
| docker container diff | 检查容器的文件系统上的文件或目录的变化 | / |
| docker container pause | 暂停一个或多个容器内的所有进程 | / |
| docker container unpause | 解除一个或多个容器内所有进程的暂停状态 | / |
| docker container update | 更新一个或多个容器的配置 | / |
| docker container wait | 阻塞直到一个或多个容器停止,然后打印它们的退出代码 | / |
网络与数据持久化(yum install bridge-utils -y)
Docker数据卷(Volume)
Docker:网络模式详解
Docker的4种网络模式
- bridge 默认模式,相当于VMware中的NAT模式(VMnet8)
--net=bridge- 容器使用独立Network Namespace,并连接到docker0虚拟网卡(默认模式);
- host 模式,相当于VMware中的桥接模式(VMnet0)
--net=host- 与宿主机在同一个网络中,但没有独立IP地址;
- container 模式,
--net=container:NAME(已存在的) or ID 指定- 不和宿主机共享,新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等;
- none 模式(lo),
--net=none
# docker network
1. docker network connect # Connect a container to a network
2. docker network create # Create a network
3. docker network disconnect # Disconnect a container from a network
4. docker network inspect # Display detailed information on one or more networks
5. docker network ls # List networks
6. docker network prune # Remove all unused networks
7. docker network rm # Remove one or more networks
1) 网络别名: docker run --name nginx_002 -itd --privileged=true --link=nginx_001:web_001 nginx /bin/bash
# dokcer volume local:container
1. docker volume create # Create a volume
2. docker volume inspect # Display detailed information on one or more volumes
3. docker volume ls # List volumes
4. docker volume prune # Remove all unused local volumes
5. docker volume rm # Remove one or more volumes
1) volumes:Docker管理宿主机文件系统的一部分,/var/lib/docker/volumes(**官方推荐的持久化方案**)
docker run -d -it --name=nginx-test -p 88:80 -v nginx-vol:/usr/share/nginx/html/:ro nginx
docker run -d -it --name=nginx-test -p 88:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
2) bind mounts:可以存储在宿主机系统的任意位置,必须先创建好挂载数据卷,不可移植;
docker run -itd --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx
3) tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统;(**一般都不会用的方式**);
4) 备份数据卷:docker run --volume-from [container name] -v $(pwd):/backup --name centos tar czvf /backup/backup.tar.gz [container data volume]
5) 恢复数据卷:docker run --volume-from [container name] -v $(pwd):/backup --name centos tar xzvf /backup/backup.tar.gz -C /
本文来自博客园,作者:anyu967,转载请注明原文链接:https://www.cnblogs.com/anyu967/articles/17328085.html
浙公网安备 33010602011771号