经验和注意事项
在工作中使用了一段时间Docker来批量部署我的服务,也充当了一段时间运维,对于Docker的使用有了几条心得体会,在这里简单的列一下:
- 尽量使用docker-compose对docker的各项配置进行管理,防止后续对于手动使用docker的步骤遗忘
- docker的build过程、入口尽量设置成脚本文件,从而可以轻松应对更多的运行需求
- 规范化的管理好docker镜像、容器的名称很重要,方便在维护中快速查找
- 管理好docker network可以让docker应用之间轻松协作
- 可以使用docker快速搭建开发环境,并且使用volumes选项映射代码以及文件,产生改动能够立即映射到容器中
下面是我在aws linux虚拟机(Ubuntu 16.04)上快速安装Docker并且配置Docker的脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!/usr/bin/env bash
sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["$你的加速器地址"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` > ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/ sudo chmod +x /usr/local/bin/docker-compose
|
如果你在国内,你可能希望使用的国内的源以及镜像。
以下脚本可用于ubuntu16.04,在build Docker的脚本中加入国内源以及镜像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| cat > /etc/apt/sources.list << EOF deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse # 测试版源 deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse # 源码 deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse # 测试版源 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse EOF mkdir ~/.pip touch ~/.pip/pip.conf cat > ~/.pip/pip.conf << EOF [global] trusted-host=mirrors.aliyun.com index-url=http://mirrors.aliyun.com/pypi/simple/ EOF
|