windows下docker的使用

目录

1:docker是什么,能干什么?

2:docker下初始化一个容器

1:工具支持

2:运行装载docker镜像

a:在docker toolbox底下有个start.sh,我们进去里面修改里面路径配置:

b:sh start.sh

c:docker-machine命令 

d:docker乱码处理

e:docker常用命令

3:SecureCRT登录docker

4:扩展篇----docker虚拟机存储位置更换

3:敲黑板

4:下一章:docker下拉(pull)镜像和生成容器。

5:本章的docker toolbox下载地址


先说说这篇文章看完你能学习到什么吧

1:docker是什么,能干什么。2:docker下初始化一个容器,3:敲黑板
1:docker是什么,能干什么?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

2:docker下初始化一个容器
1:工具支持

a:下载docker toolbox,这是一个安装程序,用于在较旧的Mac和Windows系统上快速设置和启动Docker环境。

b:下载virtualbox,这是个虚拟机软件。支持windows虚拟化系统。

c:下载git,这是个支持sh命令的工具。

d:电脑必须支持Intel Virtualization Technology,这个自己百度,如果不支持就不用往下走了

2:运行装载docker镜像
a:在docker toolbox底下有个start.sh,我们进去里面修改里面路径配置:

#!/bin/bash

trap '[ "$?" -eq 0 ] || read -p "Looks like something went wrong in step ´$STEP´... Press any key to continue..."' EXIT

# TODO: I'm sure this is not very robust.  But, it is needed for now to ensure
# that binaries provided by Docker Toolbox over-ride binaries provided by
# Docker for Windows when launching using the Quickstart.
export PATH="/F:/Program Files/Docker Toolbox:$PATH"   //这里替换成自己的Docker Toolbox,就是当前文件的路径上层
VM=${DOCKER_MACHINE_NAME-default}
DOCKER_MACHINE=./docker-machine.exe

STEP="Looking for vboxmanage.exe"
if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
  VBOXMANAGE="D:\soft\VirtualBox\VBoxManage.exe"  //这里替换成自己的VBoxManage,在你安装的VirtualBox底下
else
  VBOXMANAGE="D:\soft\VirtualBox\VBoxManage.exe"  //这里替换成自己的VBoxManage,在你安装的VirtualBox底下
fi

b:sh start.sh

运行完毕后会出现小鲸鱼图案,这是docker引擎启动成功的表现,启动成功后,该docker的虚拟地址是192.168.99.100(可以通过SecureCRT连接访问,或者virtualbox)

b->1:这一步可能会出现下载boot2docker.iso镜像文件太久的情况,这时候可以自己去网上下载docker镜像,并把它移动到相应的目录,这个目录会在运行时候有输出。我的目录是C:\Program Files\Docker Toolbox。所以我把的boot2docker.iso放到该目录下,并断网,重新sh start.sh,这样子就不会去网上下载docker 太久的问题。启动成功后,下次不用断网就可以启动。

c:docker-machine命令 

上面出现鲸鱼后,代表docker启动成功,接下来想要停掉docker虚拟机,可以用docker-machine stop default,重启用docker restart default,启动用docker start default

d:docker乱码处理

在启动docker后,可以通过locale -a看有没有en_US.utf8,有的话直接执行如下

export LC_ALL=en_US.utf8

没有的话,执行

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8

e:docker常用命令


docker images ---------查看镜像
docker ps -a ----------查看容器
docker stop 容器id -------停止容器
docker start 容器id -------启动容器
docker rm 容器id -------删除容器
docker rmi 镜像id -------删除镜像
docker run -d -p 5000:22 --name 新建容器名称 --privileged=true 镜像id或镜像名称 /usr/sbin/init ------创建容器
docker exec -it 容器名称 /bin/bash  ------进入容器
docker commit 容器id 镜像名称 ------提交容器成镜像
docker rm -f `docker ps -a -q` ------删除所有容器

3:SecureCRT登录docker

1:登录主机名:192.168.99.100

2:用户名:docker 

3:密码: tcuser 

4:切换root

用户名2:root
切换:command:sudo -i (docker用户下执行)

4:扩展篇----docker虚拟机存储位置更换

1:docker的虚拟机(镜像)存放地址在哪里

虚拟机的默认存储位置是C:\Users\Administrator\.docker\machine\machines,后期docker镜像文件会不断增加,为了减轻系统负担,我把目录指向别的地方。

2:指向新的地方(打开VirtualBox操作)(这步操作前需要先关掉default这个虚拟机)

VirtualBox【管理】->【虚拟介质管理】界面对虚拟磁盘进行复制(我们docker虚拟机默认是default名字)
复制disk.vmdk到新的硬盘,虚拟磁盘的文件类型选择VMDK,存储到硬盘上选择动态分配就可以了
右点击default,选择设置,选择存储,删除之前的disk(右击disk.vmdk删除),控制器SATA选择加号(添加),使用现有的磁盘,选择刚才复制过去的新地址

3:敲黑板

1:docker能够为我们做什么?

答:在我的理解是,docker作为一个容器引擎,docker可以通过镜像生成多个容器,分别部署到不同的服务器,实现线上环境的无缝转换和迁移。这样省去了服务器代码和环境的频繁部署。简单点来举个例子:如果我们有个代码在A服务器部署了,我们可以用docker把该服务器打包成docker镜像(image),并上传(push)到docker网站。然后如果A服务器宕机了或者死掉了,这时候需要立马重新部署一台服务器,我们可以在B服务器下载docker,用docker引擎去下拉(pull)我们上传的镜像,并用该镜像生成我们的容器,并把我们代码的所需要的端口,例如80,3306等映射到我们的宿主机。然后启动起来我们的项目,这样傻瓜式的docker操作,就可以帮我们把线上的环境还原出来立马可以使用了。

2:为什么上面的sh start.sh需要用本地的docker,而不是让他去自己下载呢?

答:因为默认的docker镜像仓库地址是https://hub.docker.com/,我们国内下载超级慢,所以我们如果直接该软件获取本地仓库地址在哪里,我们可以把我么下载的docker镜像放进去,并断网,这样该软件会优先去取我们的本地仓库镜像,而不是去网上下载,大大缩短我们的时间。

4:下一章:docker下拉(pull)镜像和生成容器。
5:本章的docker toolbox下载地址

https://download.csdn.net/download/weixin_36667844/88804108

你可能感兴趣的:(2024-spring,docker,容器,运维)