资讯专栏INFORMATION COLUMN

Docker相关环境全套安装文档兼小技能

impig33 / 2216人阅读

摘要:在年的月号之后,的版本命名开始发生变化,同时将版本和版本进行分开,表示年月发布。离线安装命名前安装我们可以使用来对多个容器进行管理。离线安装安装公司开源的企业级的管理项目。

以下环境皆为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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27728.html

相关文章

  • 软件测试需要学什么?50W+的测试工程师需要掌握哪些技能

    摘要:协议学习常见请求方法学习和学习接口的基本概念接口文档认识接口测试用例编写接口测试工具使用软件测试自动化进阶性能测试性能测试的技术要求很高,不仅仅要对性能测试的指标测试分类测试设计有很深刻的理解。 ...

    wushuiyong 评论0 收藏0
  • 使用 Docker 搭建 Laravel 本地环境

    摘要:本文就介绍如何使用搭建本地环境。讲座介绍是现在火热的一个容器技术,作为开发人员有必要掌握它的使用,无论你是用来搭建本地环境,还是部署应用。 (原文地址:https://blog.tanteng.me/2017/...) Laravel 官方提供 Homestead 和 Valet 作为本地开发环境,Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟...

    StonePanda 评论0 收藏0
  • 使用 Docker 搭建 Laravel 本地环境

    摘要:本文就介绍如何使用搭建本地环境。讲座介绍是现在火热的一个容器技术,作为开发人员有必要掌握它的使用,无论你是用来搭建本地环境,还是部署应用。 (原文地址:https://blog.tanteng.me/2017/...) Laravel 官方提供 Homestead 和 Valet 作为本地开发环境,Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟...

    lscho 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<