进程守护: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】