赞
踩
一、离线安装Docker
1、下载docker 安装包
下载地址:https://download.docker.com/linux/static/stable/x86_64/
我这里下载的是docker-19.03.9.tgz ,一般我们需要下载社区版 -ce ;
2、上传docker 到服务器目录/opt/, 解压docker-19.03.9.tgz
进入opt目录解压docker-19.03.9.tgz
tar -zxvf docker-19.03.9.tgz
3、解压的docker文件夹全部移动至/usr/bin目录
cp -p docker/* /usr/bin
4、将docker注册为系统服务
在/usr/lib/systemd/system/目录下,创建docker.service文件
编辑docker.service文件
vi /usr/lib/systemd/system/docker.service
复制以下内容到docker.service中
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd
-H tcp://0.0.0.0:4243
-H unix:///var/run/docker.sock
–selinux-enabled=false
–log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
#TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
如下图:
5、重启生效
5.1、重新加载配置文件
systemctl daemon-reload
5.2、启动Docker服务
systemctl start docker
5.3、查看启动状态
systemctl status docker
5.4、 设置docker为开机自启
systemctl enable docker
5.5、查看docker版本
docker version
二、配置Docker私有仓库Registry服务认证
1、创建密码
创建docker registry工作目录
mkdir -p /data/docker.registry
2、创建将保存凭据的文件夹
mkdir -p /data/docker.registry/etc/registry/auth
3、安装htpasswd工具。
yum -y install httpd-tools
4、创建管理员admin,存入/data/docker.registry/etc/registry/auth/passwd里面,此passwd文件将包含登录凭据和加密的passwd
htpasswd -Bbn admin 123456 > /data/docker.registry/etc/registry/auth/passwd
5、验证密码
cat /data/docker.registry/etc/registry/auth/passwd
admin:$2y$05$3R0Y9nlTM.DQEAgSrGCdp.zFMkeRr8ILeK6kW/o0kvlagZLlpUmDG
6、启动Registry
配置Registry删除权限
默认安装的Registry不支持删除
vi /data/docker.registry/etc/registry/config.yml
配置以下内容:
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
delete: #配置删除权限,默认安装的Registry不支持删除
enabled: true
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
7、密码创建完成,将凭据添加到注册表中。在这里,将auth目录和config.xml配置文件挂载到容器中:
docker run -d -p 5000:5000
–restart=always
–name registry_private
-v /data/docker.registry/etc/registry/auth:/etc/registry/auth
-v /data/docker.registry/etc/registry/config.yml:/etc/docker/registry/config.yml
-v /data/docker.registry/var/lib/registry:/var/lib/registry
-e “REGISTRY_AUTH=htpasswd”
-e “REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm”
-e “REGISTRY_AUTH_HTPASSWD_PATH=/etc/registry/auth/passwd”
registry:latest
成功后会在/root/.docker/config.json 保存5000端口的密码,如下图:
8. 测试
[root@test data]# docker tag registry:latest 127.0.0.1:5000/registry:latest
[root@test data]# docker push 127.0.0.1:5000/registry
The push refers to repository [127.0.0.1:5000/registry]
fb6b1a93008f: Preparing
6d2d8cb41f01: Preparing
4f5aa08c5eaa: Preparing
8ebb9d6ed165: Preparing
0fcbbeeeb0d7: Preparing
no basic auth credentials
9、认证
[root@test data]# docker login 127.0.0.1:5000 # admin/123456
Username (): admin
Password:
Login Succeeded
10、重试推送
[root@test data]# docker push 127.0.0.1:5000/registry
The push refers to repository [127.0.0.1:5000/registry]
fb6b1a93008f: Pushed
6d2d8cb41f01: Pushed
4f5aa08c5eaa: Pushed
8ebb9d6ed165: Pushed
0fcbbeeeb0d7: Pushed
latest: digest: sha256:a0dd61073ad21122e5f1517682800272ef29df52041aaea7ee29e92a5d22aa28 size: 1363
凭据保存在 .docker/config.json中:
[root@test data]# cat ~/.docker/config.json
{
“auths”: {
“127.0.0.1:5000”: {
“auth”: “YWRtaW46ZkZHHGGluVDQ1SA==”
}
}
}
11使用
登录
docker login 172.x.x.x:5000
输入用户名密码 admin/123456
12查看镜像
浏览器访问:http:// 172.x.x.x:5000/v2/_catalog
输入用户名/密码admin/123456
查询镜像标签列表
curl -u admin:123456 ‘http:// 127.0.0.1:5000/v2/qingzhu-backend-gray/tags/list’
三、安装docker-compose
1、从Docker官方网站下载Docker Compose最新版本的二进制文件(下载稍慢)
curl -L “https://github.com/docker/compose/releases/latest/download/docker-compose-
(
u
n
a
m
e
−
s
)
−
(uname -s)-
(uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
2.授予Docker Compose二进制文件执行权限
sudo chmod +x /usr/local/bin/docker-compose
3.检查Docker Compose版本
docker-compose --version
4、创建本地镜像
cd /home/smartoh-auth
在该目录下放jar文件,例如smartoh-auth-2.2-RELEASE.jar,创建Dockerfile文件,内容如下:
FROM openjdk:8u212-jre
MAINTAINER SmartOh
COPY smartoh-auth-2.2-RELEASE.jar /smartoh/smartoh-auth-2.2-RELEASE.jar
ENTRYPOINT [“java”,“-jar”,“-Xms64m”,“-Xmx128m”,“/smartoh/smartoh-auth-2.2-RELEASE.jar”]
docker build -t smartoh-auth:v1.0.0 .
执行以下命令创建smartoh-auth镜像;
docker build -t smartoh-auth:v1.0.0 .
执行docker images可以查看到镜像文件,如下:
5、在/home/smartoh-auth目录创建docker-compose.yml文件,里面的version需要与第3步安装的docker-compose版本号保持一致。
version: ‘3’
services:
smartoh-gateway:
image: smartoh-gateway:v1.0.0
container_name: smartoh-gateway
volumes:
- “/home/owa/backend/log:/log”
command:
- “–smartoh-admin=172.28.20.3”
- “–mongo.url=172.28.20.3”
- “–nacos.url=172.28.20.3”
- “–redis.url=172.28.20.3”
environment:
- “TZ=Asia/Shanghai”
ports:
- 8301:8301
restart: on-failure
执行docker-compose up -d命令,会自动拉取容器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。