Docker官网下载:https://www.docker.com/products/overview
官方安装文档:https://docs.docker.com/engine/installation/
官方安装脚本:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
Docker 及 Docker Compose 安装及使用教程 (2020版):https://blog.csdn.net/u011318077/article/details/105233543
Centos 7
Centos 6的内核版本太低,需要升级内核及整个系统的依赖库,比较复杂,不建议使用。
root用户登录,uname -r
确保内核版本大于等于3.10
yum update
更新系统
从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
新版本(支持as build语法)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
旧版本(不支持as build语法)
# 加入Docker源
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
# 安装
yum install -y docker 或者 yum install docker-engine -y
systemctl enable docker.service
systemctl start docker
Windows
下载最新exe安装包进行安装。安装后看能否正常运行Docker,出现闪退,报错等等,先打开virtual虚拟机看虚拟机是否正常,虚拟机报错很可能是3个Windows字体的**.dll**文件被破解了,下载原版替换,C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf文件右键安装,然后重启。
Windows 10以下
Boot2docker:
https://github.com/boot2docker/windows-installer/releases
Toolbox:https://github.com/docker/toolbox/releases
Windows 10以上
官网下载:https://docs.docker.com/docker-for-windows/
Ubuntu 14 && Ubuntu 16
root用户登录,uname -r
确保内核版本大于等于3.10
法一:apt-get install docker docker.io -y
法二:安装最新版
1.增加GPG密钥
apt-get update
apt-get install apt-transport-https ca-certificates
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
2.新增或编辑source列表里的docker.list文件
vim /etc/apt/sources.list.d/docker.list
如果不存在就新增,填入下面一个地址。保存退出
Trusty 14.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-trusty main
Xenial 16.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-xenial main
apt-get purge lxc-docker #清理以前安装过的docker源,没有安装的话,跳过
apt-cache policy docker-engine #查看是否有正确的可用版本
3.安装Docker
apt-get update
apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
#从14.04版本以上开始docker推荐安装linux-image-extra
apt-get install docker-engine
service docker start
docker run hello-world
Deepin
Deepin这里比较特殊,不能按照Debian的方法来安装。
apt-get remove docker docker-engine docker.io
apt-get install -y apt-transport-https ca-certificates curl python-software-properties software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
# 查看密钥是否安装成功
apt-key fingerprint 0EBFCD88
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian wheezy stable"
apt-get update
apt-get install -y docker-ce
Mac
Docker Desktop
https://www.docker.com/products/docker-desktop
Boot2Docker
通过运行虚拟机来使用Docker,比较占空间,性能有不好
安装包安装
下载最新pkg格式安装包:Boot2Docker-1.3.2.pkg进行安装。
https://github.com/boot2docker/osx-installer/releases/latest
或者手动初始化Boot2Docker,打开终端并运行:
boot2docker init
boot2docker start
export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375
一旦你初始化化好了一个虚拟机,你就能用boot2docker stop和boot2docker start来进行控制。
安装好后带有virtualBox虚拟机。
更新
- 1.下载最新版的Docker for OS X Installer
- 2.运行安装程序, 更新VirtualBox和Boot2Docker管理工具。
- 3.更新现有虚拟机,打开终端并运行:
boot2docker stop
boot2docker download
boot2docker start
Brew方式安装
brew update
brew install docker
brew link docker
brew link boot2docker
当用brew安装某个应用后,但没有成功创建brew link(比如,link的目录已经存在相同的老版本文件导致link创建失败),此时可以将老版本删除,然后再次执行brew link xxx
就可以创建link了,之后就可以使用brew安装的新版本了。
注:ls -lh /usr/local/bin/*docker*
就可以看到Docker安装的位置。
Boot2Docker的缺省用户名为docker,密码为tcuser。
运行Docker
在终端上跑一个“hello world” 的示例来测试Docker。启动虚拟机然后运行:
docker run ubuntu echo hello world
这样应该会下载ubuntu镜像并打印hello world。
容器端口跳转
最新版的boot2docker建立了一个仅有网络适配器的主机提供可以接入容器的端口。
如果你运行一个有公开端口的容器,
docker run --rm -i -t -p 80:80 nginx
然后你应该能用IP地址接入Nginx服务器:
boot2docker ip
显示当前IP
这个IP地址可能被VirtualBox启用的DHCP修改。
Boot2Docker管理工具提供了很多命令:
./boot2docker [<options>] [<args>]
参数:{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|delete
**|download|version} **
docker容器磁盘扩容
默认情况下,docker容器是创建10G的磁盘,但是某些情况下10G是不够的,扩容有两种方式。
法1:在启动容器时指定指定大小
可以修改配置文件让每个启动的容器都是你指定的大小:
vim /etc/sysconfig/docker-storage
在参数中加入:--storage-opt dm.basesize=20G
或者启动容器时设置,如:docker -d --storage-opt dm.basesize=20G
法2:扩容mapper设备(不停机对已有的容器扩容)
类似lvm的原理,在容器里df -Th
查看文件系统,可以看到mapper设备的编号,在真机中/dev/mapper/docker..开头的设备中就有对应的文件。
# 查看卷大小,第二位数就是卷大小,表示有多少个512bytes的扇区。
dmsetup table [docker-8:2...卷编号]
0 20971520 thin 253:0 35
# 计算新容量字节数
echo $((20*1024*1024*1024/512))
41943040
# 修改大小,这里的是上面dmsetup table时输出的内容,只是改一下容量大小。
echo 0 [新容量41943040] thin 253:0 35 |dmsetup load [docker-8:2...卷编号]
# 激活
dmsetup resume [docker-8:2...卷编号]
# 查看、验证卷大小,第二位数就是卷大小,表示有多少个512bytes的扇区。
dmsetup table [docker-8:2...卷编号]
# 修改文件系统大小
resize2fs /dev/mapper/[docker-8:2...卷编号]
# 验证大小
进入容器里面,df -Th查看是否成功扩容
Docker容器技术入门
https://mp.weixin.qq.com/s/wIRXLf-akMxXAPjSFQ0DLw
https://mp.weixin.qq.com/s/zPVY4Yx4g_bIX5wz9iFrSg
评论区