Window10安装docker
进入控制面板,开启Hyper-V
下载并安装docker
下载链接:
https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
安装步骤略(直接下一步即可)
启动并配置docker
桌面找到Docker for Windows快捷方式,双击启动即可。
修改镜像地址:
中国区镜像地址:https://registry.docker-cn.com
阿里镜像地址:https://go33d0dc.mirror.aliyuncs.com
网易镜像地址:http://hub-mirror.c.163.com
检查docker是否安装成功
安装成功后进行登录(需在官网注册)
登录命令:docker login
Docker下拉镜像地址
通过命令可以从镜像仓库拉取镜像,命令格式:
docker image pull <repository>:<tag>
下拉纯Linux镜像,查看本地所有镜像
启动镜像,进入镜像服务器
启动镜像
启动命令:docker run --name linux -it -d ImageId /bin/bash
参数:--name:启动镜像后展示名 -d:镜像id -it:以交互模式分配伪终端
建议使用特权模式运行容器,这样避免下面服务启动的报错
docker run --name centos7 --privileged=true -it -d ImageId /usr/sbin/init
运行容器,进入容器进行交互
启动命令:docker exec -it dokerId /bin/sh
参数:dockerId: 启动容器输出的容器ID 或者容器name
启动之后会进入Linux环境,建议使用passwd进行修改root密码
安装SSH服务,方便进行SSH登录
安装命令: yum install openssh-server -y
修改/etc/ssh/sshd_config:
PermitRootLogin yes
UsePAM no
退出容器,提交容器为新的镜像
提交命令:docker commit 容器ID centos-ssh
启动镜像,映射端口
将ssh端口22映射到10181
使用命令查看端口是否空闲: netstat -ano |findstr 10181
映射命令:docker run --name centos-python -p 10181:22 --privileged=true -it -d ImageId /usr/sbin/init
使用远程登录工具登录容器 ssh root@127.0.0.1 -p 10181
进行定制化配置,推送服务器
此处为自己定制所需的服务,如安装python、go、Java等环境,具体步骤略。
定制完成后,提交容器为新镜像,推送服务器
提交命令:docker commit 容器ID ranphy/centos-python:1.0
推送命令:docker push username/ImageName:version
此处ranphy为docker login时的用户名,否则后面提交镜像时无法成功
Docker常用命令
命令 |
解释 |
docker pull 镜像:tag |
拉默认仓库tag版本号的镜像 |
docker images |
查询本地仓库的所有镜像 |
docker tag 镜像id 镜像:TAG |
重命名镜像 |
docker save -o 镜像id > xx.tar |
导出镜像 |
docker load -i < xx.tar |
导入镜像 |
docker rmi 镜像id |
删除镜像 |
|
|
docker ps -a |
查询本地所有运行的容器 |
docker stop 容器id |
停止容器运行 |
docker rm 容器id |
删除容器 |
docker logs -f 容器id |
查看容器运行日志 |
|
|
启动镜像: docker run --name linux -it -d ImageId /bin/bash --name:启动镜像后展示名(如linux) -d:镜像id -it:以交互模式分配伪终端
docker run -d -p 10181:22 centos-ssh /usr/sbin/sshd -D 启动镜像,将ssh端口22映射到10181,centos-ssh为镜像name
docker run --name centos7 -p 10181:22 --privileged=true -it -d ImageId /usr/sbin/init 以特权模式启动,方便启停服务,建议使用
|
|
运行容器: docker exec -it dokerId /bin/sh dockerId: 启动容器输出的容器ID或者容器name |
|
提交容器为新的镜像 docker commit 容器ID centos-ssh |
|
推送镜像到服务器 docker push username/ImageName:version |