以下环境皆为 ubuntu16.04,主要安装 docker,docker-compose,docker 仓库等。
Docker 安装
参考官方
A: 有源安装
sudo apt-get remove docker docker-engine docker.io
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 apt-get update
apt-cache madison docker-ce
sudo apt-get install docker-ce=docker-ce=18.03.0~ce-0~ubuntu
sudo docker run hello-world
你也可以使用这个脚本安装:
sudo curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh –
B: 无源安装
先下载已编译包。
wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
sudo dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
sudo docker run hello-world
在 2017 年的 3 月 1 号之后,Docker 的版本命名开始发生变化,同时将 CE 版本和 EE 版本进行分开,18.03 表示 18 年 3 月发布。
离线安装命名前 docker(docker-engine depends on libltdl7 (>= 2.4.6);):
wget https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.12.1-0~xenial_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libltdl7_2.4.6-4_amd64.deb
dpkg -i *.deb
Docker-compose 安装
我们可以使用 docker-compose 来对多个容器进行管理。
离线安装:
wget https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m`
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Docker Hub 安装
VMware 公司开源的企业级的 Docker Registry 管理项目:harbor。
有了仓库,我们可以直接 push 镜像上去,然后从其他地方拉,不用借助 U 盘。
安装参考: 官方,文章
环境依赖较新的 docker1.10+ 和 docker-compose1.60+ 和 python2.7,我们选择离线安装方式:
wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.0-rc3.tgz
tar xvf harbor-offline-installer-v1.6.0-rc3.tgz
cd harbor
编辑 docker-compose.yml:
proxy:
image: goharbor/nginx-photon:v1.6.0
container_name: nginx
restart: always
volumes:
– ./common/config/nginx:/etc/nginx:z
networks:
– harbor
ports:
– 8888:80
– 1443:443
– 4443:4443
修改 common/templates/registry/config.yml 文件加入 8888 端口:
vim common/templates/registry/config.yml
auth:
token:
issuer: harbor-token-issuer
realm: $public_url:8888/service/token
rootcertbundle: /etc/registry/root.crt
service: harbor-registry
编辑 harbor.cfg:
hostname = 192.168.152.12
harbor_admin_password = admin
启动并登陆:
sudo su
ufw allow 8888
./prepare
docker-compose up -d
打开:http://192.168.152.12:8888,账号 | 密码:admin
Docker 配置
你可以配置某些仓库地址 (第一个是阿里云加速仓库地址,第二个忽略 https 安全)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://ztndgg1k.mirror.aliyuncs.com”],
“insecure-registries”: [“192.168.0.88:8888”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
然后登录推送:
sudo docker login http://192.168.0.88:8888
sudo docker tag mysql:5.7 192.168.0.88:8888/public/mysql:5.7
docker push 192.168.0.88:8888/public/mysql:5.7
Docker 特定场景使用
离线镜像
如果不能访问外网,那么可以用 save 和 load 来保存和加载镜像
docker save xxx:1.0 > /root/api1.0.tar
docker load < /root/api1.0.tar
docker images