Docker相关环境全套安装文档兼小技能
Posted nima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker相关环境全套安装文档兼小技能相关的知识,希望对你有一定的参考价值。
Docker相关环境全套安装文档兼小技能
以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等。
Docker安装
参考官方
A: 有源安装
Ubuntu的 Docker 安装:
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent 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 docker-ce-cli containerd.io
CentOS的 Docker 安装:
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-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install docker-ce
systemctl start docker
systemctl enable docker
docker version
B: 无源安装
Ubuntu:
先下载已编译包。
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 helloworld
--
在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
注意事项
开发和使用docker
久了后,有些体会:
- ENTRYPOINT,表示镜像在初始化时需要执行的命令,不可被重写覆盖,CMD参数可以接在其后面,所以那些可以变化的参数都写在CMD.
- CMD,表示镜像运行默认参数,可被重写覆盖, docker run是如果后面有参数,呵呵.
- ENTRYPOINT/CMD都只能在文件中存在一次,并且最后一个生效, 多个存在,只有最后一个生效,其它无效!CMD 可以补充,见 1
- 需要初始化运行多个命令,彼此之间可以使用 && 隔开,但最后一个须要为无限运行的命令,不然容器运行后就退出了
以上是关于Docker相关环境全套安装文档兼小技能的主要内容,如果未能解决你的问题,请参考以下文章