windows家庭版安装docker

一、首先查询要安装linux:(下面是centos的安装方式,当然ubuntu也是一样的)

1.直接命令搜索

在cmd命令行中输入:docker search centos(这种方式无法查询到历史版本,所以默认都是最新版的)

2.在docker官网中查询

rancher如何 根据镜像启动容器 用镜像创建容器_rancher如何 根据镜像启动容器

二、拉取镜像

  查询本地镜像

    docker images

    docker images [TagName:TAG]   可以查询多个版本,如果tag为空,版本号就是latest

      

rancher如何 根据镜像启动容器 用镜像创建容器_rancher如何 根据镜像启动容器_02

  docker pull centos:6.7       格式为 镜像名:TAG

rancher如何 根据镜像启动容器 用镜像创建容器_运维_03

 

三、以交互方式后台运行容器

docker run -it -d -p 50001:22 9f1de3c6ad53 --name centos centos:6.7

docker run -itd -v /c/docker -p 80:80 -p 8080:8080 -p 20000:20100 --restart=always centos:6.7    注:开启一块容器container,并且在C盘新建目录docker给容器挂载存储卷,并且会自动启动

rancher如何 根据镜像启动容器 用镜像创建容器_操作系统_04

参数解释:  (我们创建的容器属于虚拟机使用ssh访问ip是windows宿主机的ip)

-p hostport:containerPort分配端口  第一个参数宿主机的端口,第二个参数容器的端口,所以如果宿主机的端口80被占用了,就不能代替容器虚拟机的端口了,可以有多个端口

      正确的创建两个容器eg:docker run -itd -p 50000:22 -p 50001:80 --name centos1 centos:6.7  docker run -itd -p 50002:22-p 50003:80 --name centos2 centos:6.7   不同的容器ip不一样,所以容器ip可以重复

      错误的创建eg:docker run -itd -p 50000:22 -p 50001:80 --name centos1 centos:6.7  docker run -itd -p 50000:22-p 50001:80 --name centos2 centos:6.7     宿主机上创建多个容器,所以宿主的端口是不允许重复的

    注:-p如果要关联多个端口,也可以批量关联 

    

rancher如何 根据镜像启动容器 用镜像创建容器_centos_05

    -i  以交互模式运行容器,通常与 -t 同时使用;

    -t  为容器重新分配一个伪输入终端,通常与 -i 同时使用;

    -d  后台运行容器,并返回容器ID

    --name 为容器命名

    -v 分配给容器挂载存储卷 

    --restart=always  自动重启容器

rancher如何 根据镜像启动容器 用镜像创建容器_操作系统_06

注:重启docker的时候会自动启动容器,其他默认情况下还需要手动开启容器

   最后一个参数是运行的镜像images

四、查看当前容器并进去容器中(启动,关闭,重启)

1.docker attach a814bd4c7802(这种方式不建议使用,因为推出liunx命令操作界面后容器会自动关闭)

 

rancher如何 根据镜像启动容器 用镜像创建容器_centos_07

rancher如何 根据镜像启动容器 用镜像创建容器_rancher如何 根据镜像启动容器_08

2.docker exec -it a814bd4c7802 /bin/bash(docker exec -it containerId command)

退出linux命令行方法:1.输入exit   2.Ctrl+d

   关闭已启动的容器或重启

  docker stop 84997bb73d13(containerId)

  docker restart 84997bb73d13

  启动时需要先查询已有容器

  docker ps -a 

  docker start 84997bb73d13

    

rancher如何 根据镜像启动容器 用镜像创建容器_rancher如何 根据镜像启动容器_09

 

五、删除镜像  删除容器   格式为docker rm 容器名、镜像名

docker rmi

docker rm

 六、通过ssh连接

   我安装的linux和ubuntu初始都缺少很多命令,所以访问这里可以快速安装对应的命令

  1.首先需要启动ssh

    1)使用centos启动:service sshd start

    2)使用ubuntu启动:service ssh start

  2.修改/etc/ssh/sshd_config文件

    改PermitRootLogin 为 yes

    修改Port为我们前面开发的端口,否则ssh无法连接

  3.我每次重启docker容器都会发现ssh并没有自动启动(ps -ef|grep ssh)

    所以我们只要在~/.bashrc文件下添加  service sshd start(当然如果是ubuntu是service ssh start)

  4.为linux设置密码

    命令行输入:passwd设置新密码

    useradd test(新增用户)

    passwd test(为test用户新增密码)

七、将容器打包为镜像

  docker commit 84997bb73d13 test:1.1    docker commit containerId  [Repository[:TAG]]    中括号是选填,如果没有给定生成的镜像仓库名,会自动默认生成

  

rancher如何 根据镜像启动容器 用镜像创建容器_rancher如何 根据镜像启动容器_10

   给镜像打标签或修改标签:docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

    docker tag 

八、将镜像上传到docker hub

  官网给定的提示如下

    

rancher如何 根据镜像启动容器 用镜像创建容器_操作系统_11