Docker toolbox下载地址https://docs.docker.com/toolbox/overview/#ready-to-get-started
安装遇到的坑:环境变量的配置, 初始化时下载镜像失败 ,需要打开连接直接下载,win7可能需要开启CPU的虚拟化
centos7.4 安装时yum install docker 它默认的镜像源地址就是https://registry.docker-cn.com不需要去修改
1在Windows命令行执行docker-machine ssh [machine-name]
进入VM bash
2修改/var/lib/boot2docker/profile会遇到权限问题无法修改,需要执行sudo vi /var/lib/boot2docker/profile
3阿里云有镜像加速器https://cr.console.aliyun.com/cn-hangzhou/mirrors
4在--label provider=virtualbox
的紧邻的下一行添加--registry-mirror
https://registry.docker-cn.com
更换完镜像体验重启daoker命令: sudo /etc/init.d/docker restart
Exit退出宿主机 运行docker container run hello-world 体验飞一般的速度~~
常用命令:docker image pull hello-world 拉取image
docker image ls 列出所有image
docker container run hello-world 从image文件生成一个正在运行的hello-world 容器实例
docker container run 具有自动抓取image的功能 本地没有指定的文件会从仓库自动抓取,因此,前面的docker image pull命令可以省略;
docker container kill [containerId] 可以终止那些不会自动终止的容器;
docker container ls 列出所有正在运行的容器
docker container ls --all 列出所有容器,包括终止运行的
docker container rm [containerid] 删除容器文件
Dockerfile : 它是一个文本文件,用来配置image, docker根据该文件生成二进制的image文件;
编写Dockerfile文件注意事项: RUN命令在在image文件的构建阶段执行, 执行结果会打包进入image文件 CMD命令是在容器启动后执行, 一个Dockerfile文件可以包含多个RUN命令,但是只能有一个CMD命令,在Dockerfile文件中执行了CMD命令后,就不能再生成容器命令docker container run时附加命令了, 否则它会覆盖Dockerfil文件中的CMD命令;
编写完Dockerfile文件后生成image文件 docker image build -t [imagename] . 将当前文件夹下的Dockerfile文件生成名为imagename的image文件,生成的image文件可以push到docker仓库 ,首先要有dockerID ,可以自己注册。
在命令行登录docker账号 docker login 提示输入用户名密码 ,依次输入后提示 loginsuccess,
给自己生成的image文件命名 docker image tag [name] [newname] 新名字推荐自己的dockerId /name
命名之后上传 docker image push [newname] 上传成功之后 登录hub.docker.com 查看detail里有使用的命令
登录阿里云的服务器安装docker , docker image pull [newname]把自己上传的image文件pull到服务器,
运行docker container run -p 8080:80 [newname] 用image文件创建容器 8080是宿主机的端口 80是容器的端口
容器运行后可以方位 服务器ip+8080 访问
tip:容器运行后 ctrl+c退出, 容器会停止运行 ,启动命令docker container start [containerid],
容器停止命令:docker container stop [containerid]; 删除容器命令docker container rm [containerid],删除容器之前需要先停止容器,不然报错删不掉