Docker ToolBox 安装
1、首先,安装Docker ToolBox,其中包含了Docker三剑客: docker , docker-machine 和 docker-compose .
安装完成之后包含了以上命令,并且会安装Oracle的Vm软件VirtualBox,Docker容器的主机将会运行在其中.
创建Docker虚拟机主机
安装完之后,有默认的镜像文件 C:\Program Files\Docker Toolbox\boot2docker.iso,将其拷贝至自己用户名下默认目录 C:\Users\Benjamin\.docker\machine\cache\, docker-machine默认使用这个目录来创建虚拟主机.有些情况下,boot2docker.iso显示是一个压缩包,也可以直接拷贝使用。
2、打开Docker Toolbox安装终端 Docker Quickstart Terminal ,首次运行会自动创建虚拟主机, 如未自动创建成功可以执行以下命令来创建默认的虚拟主机:
docker-machine rm default docker-machine create -d virtualbox default
等待虚拟机创建完成(可以使用VirtualBox来查看虚拟机的状态).
3、调整虚拟主机相关配置
Docker虚拟主机创建完毕之后,还需要配置一些参数才能正常使用.
以下几项是需要登陆到虚拟机中进行调整的内容,登陆方式为:
docker-machine ssh default
如果不想使用 Docker Quickstart Terminal , 可以在登陆之后调整 docker 用户的密码 ,然后就可以使用一般的ssh客户端,如xShell等来登陆虚拟主机.
sudo passwd docker
docker的运行参数配置使用 daemon.json 来进行配置
本地镜像设置
修改 daemon.json (如果没有则创建一个新的):
sudo vi /etc/docker/daemon.json
修改配置为:
{ "insecure-registries" : ["xxxx.com"] ,
}
也可以使用在线的阿里云或者docker hub上的镜像,需要配置mirror。
4、重启 docker 使配置生效:
sudo /etc/init.d/docker restart
查看 docker info, Insecure Registries列表中应当包含 xxxxxx.com.
如果重启失败,可以在 /var/log/docker.log 中查看日志进行相应的调整.
配置了本地镜像之后,即可使用本地镜像拉取所需要的镜像文件,如:
docker pull registry.xxxxxxxxx/python:3.6.2
TLS禁用
在Windows上使用Docker的其中一个目的是使其与PyCharm结合,形成Python代码的解释器,避免重复的Python解释环境搭建的问题,同时保持Windows开发环境和部署环境所用的Python库的一致性.
默认的docker-machine包含了TLS的认证,虽然能保一定的安全性,但是这导致PyCharm使用Docker的效率很低(目前尚未找到解决版本),因此,我们只能使用不使用TLS认证的docker.
登陆到虚拟主机中,调整 DOCKER_TLS 环境变量:
sudo vi /var/lib/boot2docker/profile
将 DOCKER_TLS 设置为 no :
DOCKER_TLS=no
此项在关机后会失效,开机的时候注意设置
修改完成后重启 docker.
注意: 禁用了TLS 后 docker-machine 不再能获取到对应的信息了.
这时候要继续使用docker命令,需要调整环境变量,
环境变量调整后 docker 命令又可以继续使用了.
虚拟主机共享目录
默认的Docker虚拟主机自动创建了一个用户目录的共享文件夹,如果没有的话需要自己创建.
打开 VirtualBox 的管理工具,编辑共享文件夹:
其中 /c/User/ 是默认添加的,后面可以自己添加盘符和文件路径
重启虚拟主机,然后就可以在虚拟主机上看到相关目录了:
docker-machine restart default
命令详解:
attach 进入一个容器
build 从Dockerfile编译
commit 提交容器
cp 从容器内复制文件到指定的路径上
create 创建容器
diff 可以列出容器内发生变化的文件和目录
events 从服务器拉取个人动态,可选择时间区间
exec 进入容器
export 将指定的容器保存成 tar 归档文件, docker import 的逆操作。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚
history 查看指定镜像的创建历史
images 查看镜像列表
import 从归档文件(支持远程文件)创建一个镜像, export 的逆操作,可为导入镜像打上标签。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚
info 显示系统信息
inspect 查看容器底层信息
kill 结束一个正在运行的容器
load 从 tar 镜像归档中载入镜像, docker save 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚
login 登录Docker HUB
logout 退出Docker HUB
logs 打印出容器的标准输出
port 映射NAT的端口
pause 暂停容器
ps 列出容器
pull 下载一个镜像
push 将镜像推送至远程仓库,默认为 Docker Hub
restart 重启容器
rm 删除容器
rmi 删除镜像
run 运行一个新容器
save 保存镜像
search 搜索镜像
start 启动容器
stop 停止容器
tag 镜像改名
top 查看容器进程
unpause 恢复暂停的容器
version 查看版本
wait 阻塞对指定容器的其它调用方法,直到容器停止后退出阻塞
-i #允许在容器进行交互
-t #分配伪tty终端
-d #在后台运行容器
-P #标示通知Docker所需的网络端口映射从主机映射到我们的容器内
-h #指定容器的hostname
-e #设置容器的环境变量
-a #stdin 指定标准输入输出内容类型,可选 STDIN/STDOUT / STDERR 三项
-w #指定工作目录
-u #指定用户名id
-m #指定内存
--env-file=[] 从指定文件读入环境变量
--restart=always 当容器推出时,自动重启容器
--restart=on-failure:5 当容器推出代码为非0时,docker会尝试自动重启该容器,最多重启5次
--name 指定容器名,容器名在整个docker环境中必须唯一
--dns 指定dns
--cpuset="" 绑定容器到指定CPU运行
--net="bridge" 指定容器运行的网络模式
- Docker在Windows上的初体验
作为Docker的初学者,我有几个疑问,找到了答案,并实践了一下,希望对和我一样的初学者有帮助: 1.Docker是什么? 大家对虚拟机应该比较熟悉,虚拟机和docker都是为了实现隔离. 虚拟机隔离 ...
- Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Windows:Window 10 Visual Studio:201 ...
- Docker 在Windows上的安装
1. 软件从Docker官网下载,进行安装,安装后,能看到如下界面. 2. 安装后,查看Docker 版 本信息. 3. 配置加速器 (1)选择setting. (2)依次选择,并填写自己的加速器地址 ...
- DOCKER在windows上安装与配置
1.下载程序 安装包 https://github.com/boot2docker/windows-installer/releases(这个地址国内下载很慢) 用这个: https://get.da ...
- 打包应用和构建Docker镜像(docker在windows上)
在构建Docker时编译应用 一般有两种方法在构建镜像时进行打包应用.第一种方法就是使用基本的镜像,该镜像包括应用平台和构建工具,因此在Dockerfile中,复制源代码到镜像中并在构建镜像时编译ap ...
- Docker在Linux/Windows上运行NetCore文章系列
Windows系列 因为Window很简单,VS提供界面化配置,所以只写了一篇文章 Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 Linux( ...
- 在Windows上弄一个redis的docker容器
[本文出自天外归云的博客园] Docker核心概念简介 镜像是一个面向docker引擎的只读模板,包含了文件系统. 镜像是创建容器的基础,容器类似于一个沙箱,用来运行和隔离应用. 容器是从镜像创建的应 ...
- Docker for Windows使用简介
在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Do ...
- Docker for Windows
Docker for Windows使用简介 在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Wi ...
随机推荐
- DevExpress 控件使用技巧
DevExpress是非常主流的.NET控件,眼下全世界和中国都用非常多用户使用,只是因为是英文版,初次接触的同学可能会认为困难.这里就总结DevExpress常见的10个使用技巧. 1.TextEd ...
- poj 2187:Beauty Contest(计算几何,求凸包,最远点对)
Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 26180 Accepted: 8081 D ...
- 【R】自定义描述统计函数-从均值到峰度偏度
data_show<-function(x) { n<-length(x) m<-mean(x) v<-var(x) s<-sd(x) me<-median(x) ...
- 第七篇:使用 fcntl 函数 获取,设置文件的状态标志
前言 当打开一个文件的时候,我们需要指定打开文件的模式( 只读,只写等 ).那么在程序中如何获取,修改这个文件的状态标志呢? 本文将告诉你如何用 fcntl函数 获取指定文件的状态标志. 解决思路 1 ...
- HTML、DOM和JS的了解
1.HTML.JS.以及DOM的关系的关系说明 关于HTML.JS.以及DOM的关系一直很迷惑,虽然一直听人说,但并未理解. 偶然间,忽然懂了这三者之间的关系. 举例吧: HTML就是最终的页面,是一 ...
- delphi =------报错
关于delphi软件运行出现Invalid floating point operation的错误的解决办法 关于delphi软件运行出现Invalid floating point operatio ...
- Share and NTFS Permission
NTFS Permissions Share Permissions Share and NTFS Permission Similarities 共享权限和NTFS权限的相似性 Modifying ...
- pro_select_roleinfo_p3
DELIMITER | drop procedure if exists pro_select_roleinfo_p3; CREATE PROCEDURE pro_select_roleinfo_p3 ...
- 微信商城 Common Log Format Apache CustomLog
w 0- /Apr/::: +] "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, ...
- Java 之内部类
概述 内部类修饰符 内部类的细节 局部内部类 匿名内部类及其应用 匿名内部类细节 内部类概述 将一个类定义在另一个类的里面, 里面的那个类就称为内部类(内置类, 嵌套类). class Outer { ...