docker在windows10下的安装与使用
本人使用的是 win10专业版 + Hyper-V 搭建的docker环境
一、 安装配置
1. docker-desktop下载:
https://hub.docker.com/
去官网下载docker-desktop版本。
2. docker desktop installer安装:
执行安装程序,一步一步安装完成即可。
3. 配置国内镜像源:
右下角docker图标 右键 -> ‘settings’ -> ‘Docker Engine’: 在右侧的编辑框内输入:
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://3laho3y3.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io",
"https://mirror.ccs.tencentyun.com",
],
}
4. 安装git bash作为docker的命令行工具(cmd或powershell启动容器会有些问题)
https://git-scm.com/
下载安装git
二、 常用命令
-
docker version 检查docker版本
-
docker search xxx 搜索xxx镜像
-
docker pull xxx 拉取镜像xxx
-
docker images 查看镜像列表
-
docker rmi 镜像id 删除一个镜像
-
docker start/stop/restart/kill 容器id 启动/停止/重启/杀掉容器
-
docker logs 容器id/名称 查看容器日志
-
docker rm 容器1 容器2: 删除一个或多个容器
-
docker rm -f 容器1 容器2: 通过 SIGKILL 信号强制删除一个运行中的容器
-
docker rm -l 容器1 容器2: 移除容器间的网络连接,而非容器本身。
-
docker rm -v 容器1 容器2: 删除与容器关联的卷
-
docker rm $(docker ps -a -q): 删除所有已经停止的容器
-
docker exec -it 容器id/名称 bash 进入运行中的容器
-
启动容器: docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS参数:
-a 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d 后台运行容器,并返回容器ID
-e env="product" 设置环境变量;
-h, --hostname string 指定容器的hostname
-i 以交互模式运行容器,通常与 -t 同时使用
-m 设置容器使用内存最大值
-P(大写) 随机端口映射,容器内部端口随机映射到主机的端口
-p(小写) 指定端口映射,格式为:主机(宿主)端口:容器端口
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-v, --volume 绑定一个卷
-w, --workdir string 容器内的工作目录
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
--dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致
--dns-search example.com 指定容器DNS搜索域名,默认和宿主一致
--env-file list 从指定文件读入环境变量
--expose list 开放一个端口或一组端口
--link list 添加链接到另一个容器
--name xxx 为容器指定一个名称
--privileged 将扩展权限授予此容器
看些实例:
docker run --name mynginx -d nginx:latest
docker run -P -d nginx:latest
docker run -p 80:80 -v /data:/data -d nginx:latest
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
docker run -it nginx:latest /bin/bash
- 查看容器: docker ps [OPTIONS]
OPTIONS参数:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
--format :指定返回值的模板文件。
--no-trunc :不截断输出。
返回示例说明:
$ docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
73012d245222 t_app "/bin/sh -c 'sh /app…" 3 days ago Up 10 hours 0.0.0.0:5030->5030/tcp t_app_1 4.62MB (virtual 1.01GB)
71c0a1d902c0 t_db "docker-entrypoint.s…" 3 days ago Up 10 hours 33060/tcp, 0.0.0.0:7002->3306/tcp t_db_1 4B (virtual 448MB)
字段说明:
- CONTAINER ID: 容器ID
- IMAGE: 使用的镜像
- COMMAND: 启动容器时运行的命令
- CREATED: 容器的创建时间
- STATUS: 容器状态(created-已创建, restarting-重启中, running-运行中,