docker镜像制作

进程守护:supervisor(基于python开发的进程管理工具)

1. Dockerfile常用指令

WORKDIR  指定后续命令的执行目录

EXPOSE   指定容器对外暴露的端口

ENV    对容器内的环境变量进行设置(ENV HOSTNAME  xxx.xx.com)

COPY    复制本地文件到镜像中

ADD    添加本地tar包到镜像中,并且自动解压

ENTRYPOINT  容器启动后执行的命令(不 可 以 被 docker run 参数覆 盖)

CMD    在容器运行的时候提供一些命令及参数(可 以 被 docker run 参数覆 盖)

VOLUME   挂载数据卷

Kubernetes(K8S)相关资料:

  http://www.dockone.io/article/932

  https://www.kubernetes.org.cn/docs

docker安装包下载:

https://download.docker.com/linux/static/stable/x86_64/

2. docker安装:

按下列顺序进行安装,参考 https://jingyan.baidu.com/article/fb48e8becf31a16e632e145f.html ,

部分安装包下载地址: http://rpmfind.net/linux/rpm2html/search.php

rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm

rpm -ivh audit-libs-python-2.8.1-3.el7.x86_64.rpm

rpm -ivh libcgroup-0.41-15.el7.x86_64.rpm

rpm -ivh libsemanage-python-2.5-11.el7.x86_64.rpm

rpm -ivh checkpolicy-2.5-6.el7.x86_64.rpm

rpm -ivh python-IPy-0.75-6.el7.noarch.rpm

rpm -ivh setools-libs-3.3.8-2.el7.x86_64.rpm

rpm -ivh policycoreutils-python-2.5-22.el7.x86_64.rpm

rpm -ivh container-selinux-2.68-1.el7.noarch.rpm

rpm -ivh libseccomp-2.3.1-3.el7.x86_64.rpm

rpm -ivh containerd.io-1.2.2-3.el7.x86_64.rpm

rpm -ivh docker-ce-cli-18.09.3-3.el7.x86_64.rpm

rpm -ivh docker-ce-18.09.3-3.el7.x86_64.rpm

#启动docker

  systemctl daemon-reload && systemctl restart docker

#设置开机启动

  systemctl enable docker.service

3. docker常用操作:

  3.1 docker离线打包:docker save [imageid] -o xxx.tar

  3.2 docker导入离线镜像包:docker load -i xxx.tar

  3.3 查看docker镜像: docker images

  3.4 删除镜像: docker rmi  [imageId]

  3.5 启动容器: docker run --name mysql -it -p 3307:3306 [imageId] bash

    3.5.1、进入docker容器,编辑 vi /etc/sysctl.conf

    3.5.2、添加 net.ipv4.ip_forward=1

    3.5.3、重启network服务 systemctl restart network

    mysql容器启动:docker run -d -p 3306:3306 --restart always --privileged=true --name mysql001 -e MYSQL_USER="mysql" -e MYSQL_ROOT_PASSWORD="123456" -e MYSQL_PASSWORD="123456"  -v=/etc/my.cnf:/etc/my.cnf -v=/data/mysql:/var/lib/mysql b8fd9553f1f0

  3.6 查看容器: docker ps -a

  3.7 进入到容器内部: docker exec -it [containerId] /bin/bash      相应的从容器退出到宿主机:exit

4. mysql容器启动:

  参考:https://blog.csdn.net/weixin_38036134/article/details/86360875

  

  4.1 在centos 7.5宿主机创建响应的目录和文件
    mkdir data
    mkdir config 【data子目录】 touch my.conf 【创建配置文件】
    mkdif mysql 【data子目录】

    vim my.conf 编辑配置文件并设置mysql字符集
      [mysqld]
      user=mysql
      character-set-server=utf8
      default_authentication_plugin=mysql_native_password
      [client]
      default-character-set=utf8
      [mysql]
      default-character-set=utf8

  4.2 启动容器:

    docker run -d -p 3306:3306 --restart always --privileged=true --name mysql001 -e MYSQL_USER="mysql" -e MYSQL_ROOT_PASSWORD="123456" -e MYSQL_PASSWORD="123456"  -v=/etc/my.cnf:/etc/my.cnf -v=/data/mysql:/var/lib/mysql 【imageId】

原文地址:https://www.cnblogs.com/wuan90/p/11278009.html