docker 常用命令
**************************
镜像相关命令
搜索镜像:docker search image
下载镜像:docker pull image
删除镜像:docker rmi image_name/image_id
删除所有镜像:docker rmi $(docker images -q)
查看本地所有镜像:docker images
查看镜像详细信息:docker inspect image_id
查看镜像构建历史:docker history image_id
根据容器创建镜像:docker commit [options] container image_name:tag
[root@centos ~]# docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change list Apply Dockerfile instruction to the created image
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
-a:作者信息
-c:使用dockerfile指令创建镜像
-m:说明信息
-p:提交镜像期间荣旗停止
#创建容器redis
[root@centos ~]# docker run -it -d --name redis redis
6ba0d8883cbd9c2935ebd8c0175f32d127ed6e5de5c3a33e3d791a74b2b38a7f
#指定工作目录:/usr
[root@centos ~]# docker commit -c "workdir /usr" redis myredis
sha256:6f722e468c3ae2094c073f8be29e06c357c513c68b608e07eb7a6e7b59dd7b22
#指定工作目录:/usr、环境变量:hello ==> world
[root@centos ~]# docker commit -c "workdir /usr" -c "env hello world" redis myredis
sha256:074771378679245de22dac93b3d68eb1f986e425f73f108d7262ac5f9beb6816
根据模板文件生成镜像:docker import file - image:tag
将镜像转为文件本地文件存储:docker save -o file image_name
将本地文件转为镜像:docker load --input file、docker load < file
给镜像打标签:docker tag image_name new_image_name
上传镜像:docker push image_name
**************************
容器相关命令
创建容器:docker run,常用启动参数:
-i:打开标准输入
-t:分配一个伪终端
-d:在后台运行容器
--net:指定容器网络模式
--ip:指定容器的ip地址
-w:指定容器的工作目录
-e:指定容器内的环境变量
-m:限制容器使用的内存
-v:容器挂载数据卷
--name:指定容器的名称
启动容器:docker start container_id
进入容器:docker exec -it container_id bash
停止容器:docker stop container_id
重启容器:docker restart container_id
删除容器:docker rm container_id
删除所有容器:docker rm $(docker ps -qa)
查看存活容器:docker ps
查看所有容器:docker ps -a
查看容器日志:docker logs container_id
查看容器详细信息:docker inspect container_id
将容器转换为本地文件存储:docker export -o file container_id
将文件转换为镜像文件:docker import file - image_name
**************************
network:网络
相关命令
[root@centos ~]# docker network --help
Usage: docker network COMMAND
Manage networks
Commands:
connect Connect a container to a network
create Create a network
disconnect Disconnect a container from a network
inspect Display detailed information on one or more networks
ls List networks
prune Remove all unused networks
rm Remove one or more networks
Run 'docker network COMMAND --help' for more information on a command.
connect:将容器连接到网络上
create:创建网络
disconnect:断开容器网络连接
inspect:查看网络详细信息
ls:列出所有网络
prune:清理所有未使用的网络
rm:删除网络
***********************
创建网络
命令格式:docker networkc create [options] network
[root@centos ~]# docker network create --help
Usage: docker network create [OPTIONS] NETWORK
Create a network
Options:
--attachable Enable manual container attachment
--aux-address map Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
--config-from string The network from which copying the configuration
--config-only Create a configuration only network
-d, --driver string Driver to manage the Network (default "bridge")
--gateway strings IPv4 or IPv6 Gateway for the master subnet
--ingress Create swarm routing-mesh network
--internal Restrict external access to the network
--ip-range strings Allocate container ip from a sub-range
--ipam-driver string IP Address Management Driver (default "default")
--ipam-opt map Set IPAM driver specific options (default map[])
--ipv6 Enable IPv6 networking
--label list Set metadata on a network
-o, --opt map Set driver specific options (default map[])
--scope string Control the network's scope
--subnet strings Subnet in CIDR format that represents a network segment
-d:设置网络驱动,默认为bridge
-subnet:设置网络使用的网段,如 172.18.0.0/24
示例
[root@centos ~]# docker network create --subnet 172.20.0.0/24 fixed4 //创建网络
4c72f8af78ef0af6b324da73cd6c9efcddfe969e48127579e01c085b06823216
[root@centos ~]# docker network ls //列出网络
NETWORK ID NAME DRIVER SCOPE
4c72f8af78ef fixed4 bridge local
[root@centos ~]# docker inspect fixed4 //查看网络详情
[
{
"Name": "fixed4",
"Id": "4c72f8af78ef0af6b324da73cd6c9efcddfe969e48127579e01c085b06823216",
"Created": "2020-10-09T09:38:20.447745533+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.20.0.0/24"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
[root@centos ~]# docker network rm fixed4 //删除网络
fixed4