Docker 基础:命令01
这里是 Docker 的快速参考,你可以在这里找到最常见的 Docker 命令
一般命令
下文中所指的“$container”可以是容器名称,也可是容器ID
常用
后台创建与运行容器
docker run -d -p $port:port $images
参数说明:
-d:以后台模式运行容器
-p $port:port:端口映射
images:要使用的镜像
前台创建并运行容器
docker run -it --rm -p $port:port --name $container_name $images
参数说明:
-it:交互式bash模式
--rm:容器终止运行后自动删除
-p $port:port:端口映射
$container_name:指定的容器启动名称
$images:要使用的容器镜像
其他常用
命令 | 命令说明 |
---|---|
docker ps -a/-s | 列出正在运行/所有/的容器 |
docker images | 列出所有的镜像 |
容器命令
命令 | 命令说明 |
---|---|
docker exec -it $container bash | 连接到指定容器 |
docker logs $container | 显示容器的控制台日志 |
docker start $container | 启动指定容器 |
docker stop $container | 停止指定容器 |
docker restart $container | 重启指定容器 |
docker pause $container | 暂停指定容器 |
docker wait $container | 阻塞指定容器 |
docker attach $container | 连接到现有容器 |
docker rm $container | 移除指定容器 |
docker port $container | 显示容器的端口映射 |
docker top $container | 列出进程 |
docker kill $container | 直接终止容器 |
docker logs $container | 显示容器的控制台日志 |
docker inspect $container | 检查容器 |
docker events $container | 查看容器事件 |
docker port $container | 查询公共端口 |
docker top $container | 运行进程 |
docker stats $container | 容器资源使用 |
docker diff $container | 列出对容器所做的更改 |
创建容器
docker create [options] IMAGE
-a, --attach # 附加标准输出/错误
-i, --interactive # 附加标准输入(交互式)
-t, --tty # 伪终端 pseudo-tty
--name NAME # 命名你的镜像
-p, --publish 5000:5000 # 端口映射(主机:容器)
--expose 5432 # 向容器公开端口
-P, --publish-all # 发布所有端口
--link container:alias # 链接 linking
-v, --volume `pwd`:/app # mount(需要绝对路径)
-e, --env NAME=hello # 环境变量 env vars
# 示例:使用redis:3.0.2镜像创建redis数据库,名称为redis,对外开放6379端口
docker create --name redis --expose 6379 redis:3.0.2
重命名容器
docker rename $container_name $images
移除容器
docker rm $images
更新容器
docker update $command $container_name
镜像命令
命令 | 命令说明 |
---|---|
docker rmi $images | 删除镜像 |
docker load < $file | 从某文件加载存储库 |
docker load --input $file | |
docker save $name > $file | 将某镜像保存到某文件中 |
docker history | 镜像历史 |
docker commit $images $images_name | 容器另存为镜像 |
docker tag $images $images_tag | 标记镜像 |
docker push $images_tag | 推送镜像(公共) |
构建镜像
# 注意有的最后面是英文 .
docker build .
docker build github.com/creack/docker-firefox
docker build - < Dockerfile
docker build - < context.tar.gz
docker build -t eon/nginx-server .
docker build -f myOtherDockerfile .
curl example.com/remote/Dockerfile | docker build -f - .
删除<none>镜像
docker rmi -f $(docker images | grep "none" | awk '{print $3}')
网络命令
获取容器连接的网络
docker inspect $container | grep Network
删除网络
docker network rm $container_network
列出网络
docker network ls
获取网络信息
docker network inspect $container_network
将正在运行的容器连接到网络
docker network connect $network $container
启动时将容器连接到网络
docker run -it -d --network= $network $container
断开容器与网络连接
docker network disconnect $network $container
创建网络
docker network create -d overlay $network_name
docker network create -d bridge $network_name
# 参数仅为示例,使用自行更改
docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" \
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" \
--aux-address="my-nas=192.170.1.6" \
$network_name