欢迎光临散文网 会员登陆 & 注册

docker安装教程 镜像管理 私有仓库

2023-02-19 11:48 作者:bili_39183997178  | 我要投稿

添加yum源

[root@ecs-proxy ~]# cp -a docker /var/ftp/localrepo/ 

[root@ecs-proxy ~]# cd /var/ftp/localrepo/

[root@ecs-proxy localrepo]# createrepo --update .

[root@docker-0001 ~]# yum makecache

[root@docker-0001 ~]# yum list docker-ce*

开启路由转发

[root@docker-0001 ~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@docker-0001 ~]# sysctl -p

[root@docker-0001 ~]# yum install -y docker-ce

[root@docker-0001 ~]# systemctl enable --now docker

[root@docker-0001 ~]# ifconfig # 验证,能看见 docker0

[root@docker-0001 ~]# docker version # 验证,没有报错

docker run 启动一个新的容器

        -i 交互式,-t 终端, -d 在后台启动

总结:

   管理镜像使用   名称:标签

   管理容器使用   容器ID


commit 打包镜像

docker  commit  容器id  新镜像名称:标签

使用Dockerfile创建镜像

docker  build  -t  镜像名称:标签  Dockerfile所在目录

制作apache镜像

CMD  指令可以查看 service 文件的启动命令 ExecStart(/lib/systemd/system/httpd.service)

ENV  环境变量查询服务文件中的环境变量配置文件 EnvironmentFile 指定的文件内容

[root@docker-0001 ~]# mkdir apache; cd apache
[root@docker-0001 apache]# vim Dockerfile
FROM myos:latest
RUN  yum install -y httpd php && yum clean all
ENV
ADD  webhome.tar.gz  /var/www/html/
WORKDIR /var/www/html/
EXPOSE 80
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
# 拷贝 webhome.tar.gz 到当前目录中
[root@docker-0001 apache]# docker build -t myos:httpd .

制作php-fpm镜像

[root@docker-0001 ~]# mkdir php; cd php

[root@docker-0001 php]# vim Dockerfile

FROM myos:latest

RUN  yum install -y php-fpm && yum clean all

EXPOSE 9000

CMD ["/usr/sbin/php-fpm", "--nodaemonize"]

[root@docker-0001 php]# docker build -t myos:php-fpm .

制作nginx镜像


[root@docker-0001 ~]# yum install -y gcc make pcre-devel openssl-devel

[root@docker-0001 ~]# useradd nginx

[root@docker-0001 ~]# tar -zxvf nginx-1.12.2.tar.gz

[root@docker-0001 ~]# cd nginx-1.12.2

[root@docker-0001 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module

[root@docker-0001 nginx-1.12.2]# make && make install

[root@docker-0001 nginx-1.12.2]# # 拷贝 docker-images/info.html和info.php 到 nginx/html 目录下

[root@docker-0001 nginx-1.12.2]# cd /usr/local/

[root@docker-0001 local]# tar czf nginx.tar.gz nginx

[root@docker-0001 local]# mkdir /root/nginx ;cd /root/nginx

[root@docker-0001 nginx]# cp /usr/local/nginx.tar.gz ./

[root@docker-0001 nginx]# vim Dockerfile 

FROM myos:latest

RUN  yum install -y pcre openssl && useradd nginx && yum clean all

ADD  nginx.tar.gz /usr/local/

EXPOSE 80

WORKDIR /usr/local/nginx/html

CMD  ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

[root@docker-0001 nginx]# docker build -t myos:nginx .

发布服务

docker  run  -itd  -p 宿主机端口:容器端口  镜像名称:标签

容器共享卷



docker私有仓库

docker  run  -itd  -v 宿主机对象:容器内对象  镜像名称:标签

[root@registry ~]# yum install -y docker-distribution

[root@registry ~]# systemctl enable --now docker-distribution

[root@registry ~]# curl http://192.168.1.100:5000/v2/_catalog

{"repositories":[]}

docker客户端配置

所有node节点都需要配置,这里 docker-0001,docker-0002都要配置

native.cgroupdriver   cgroup驱动,docker默认 cgroupfs

registry-mirrors          默认下载仓库,使用国内源能快一点

insecure-registries     私有仓库地址(重点)

[root@docker-0001 ~]# vim /etc/docker/daemon.json

{

    "exec-opts": ["native.cgroupdriver=systemd"],

    "registry-mirrors": ["https://hub-mirror.c.163.com"],

    "insecure-registries":["192.168.1.100:5000", "registry:5000"]

}

[root@docker-0001 ~]# docker rm -f $(docker ps -aq)

[root@docker-0001 ~]# systemctl restart docker

上传镜像

# 上传 myos:latest, myos:httpd, myos:nginx, myos:php-fpm

[root@docker-0001 ~]# docker tag myos:latest 192.168.1.100:5000/myos:latest

[root@docker-0001 ~]# docker push 192.168.1.100:5000/myos:latest



docker安装教程 镜像管理 私有仓库的评论 (共 条)

分享到微博请遵守国家法律