docker3


干干净净的卸载docker

 yum remove docker docker-common docker-selinux docker-engine -y

docker镜像的分层

镜像分层的好处:复用,节省磁盘空sff间,相同的内容只需加载一份到内存。 修改dockerfile之后,再次构建速度快dsfds

dockerfile 优化:

1:尽可能选择体积小linux发行版,alpine

2:尽可能合并RUN指令,清理无用的文件(yum缓存,源码包)

3:修改dockerfile,把变化的内容尽可能放在dockerfile结尾

4: 使用.dockerignore,减少不必要的文件ADD . /html

容器间的互联(--link是单方向的鸭)

例如:docker run -d -p 80:80 nginx​ docker run -it --link quirky_brown:web01 qstack/centos-ssh /bin/bash​ 

--link quirky_brown:web01  等于这台主机自动做了quirky_brown:web01的hosts解析,可以不知道对方主机的IP,只是单向的解析。

docker registry 建立私有仓库(指定5000端口,开机启动)谁都可以上传,不好

docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry  registry

上传镜像到私有仓库: 

a:给镜像打标签 

docker tag centos:6.9 10.0.0.11:5000/centos:6.9

b:上传镜像

docker push 10.0.0.11:5000/centos:6.9

出现报错:Get https://10.0.0.11:5000/v2/: http: server gave HTTP response to HTTPS client

解决方法:

[root@docker02 docker]# cat /etc/docker/daemon.json

{

"insecure-registries": ["10.0.0.11:5000"],

"registry-mirrors": ["https://registry.docker-cn.com"]

}

systemctl restart docker

c:拉取镜像

docker pull 10.0.0.11:5000/centos:6.9

docker-compose(单机版的容器编排工具)

yum install -y docker-compose

创建文件夹,在里面搭建ansible剧本yml,yml名字必须为docker-compose.yml

搭建wordpress

cd my_wordpress

 vi docker-compose.yml

version: '3'

services:

  db:

    image: mysql:5.7

    volumes:

      - /data/db_data:/var/lib/mysql

    restart: always

    environment:

      MYSQL_ROOT_PASSWORD: somewordpress

      MYSQL_DATABASE: wordpress

      MYSQL_USER: wordpress

      MYSQL_PASSWORD: wordpress

  wordpress:

    depends_on:

      - db

    image: wordpress:latest

    volumes:

      - /data/web_data:/var/www/html

    ports:

      - "80:80"

    restart: always

    environment:

      WORDPRESS_DB_HOST: db

      WORDPRESS_DB_USER: wordpress

      WORDPRESS_DB_PASSWORD: wordpress

后台启动

docker-compose up -d

设置开机自启

docker run --restart=always

上传镜像到官方仓库

需要docker login登录自己的账号

docker search alpine 查看alpine的镜像

docker tag alpine:3.9 账户名/要上传的镜像

docker push 账户名/要上传的镜像

docker企业级镜像仓库harbor(CHINA)

a:安装docker和docker-compose,安装docker要用老师给的那个rpm安装

b:下载harbor-offline-installer-v1.5.1.tgz

c:上传到/opt,并解压

d:修改harbor.cfg配置文件hostname = 10.0.0.11 harbor_admin_password = 123456

e:执行install.sh

harbor配置https证书

hostname = 设置为https的域名

将http的注释掉

ui_url_protocol=https

ssl_cert=证书

ssl_cert_key=密钥

将docker-registry迁移到harbo仓库

a:先创建一个test项目

b:系统管理->仓库管理,新建目标,提供者选择docker-registry,目标名test,目标URL为我们要同步的仓库地址:http://10.0.0.11:5000,没有账号密码证书,确定创建

c:系统管理->同步管理,新建规则,名称为test,同步模式我们选择拉去仓库,源Registry选择我们刚才创建的仓库管理的目标,目标Namespace选择我们a创建的test项目,选择项目同步,就会将项目同步过来

d:删除不想要的镜像,还需要任务里的垃圾清理

e:还可以看日志,看操作的过程

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容