# ansible-etcd **Repository Path**: hegp/ansible-etcd ## Basic Information - **Project Name**: ansible-etcd - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-04-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 有很多坑,但是无法一一写明。用一天的时间生命,最后发现改不了:人生要去接受无奈,用再多的生命时间去解决这些问题就是找死 * centos:7镜像中,如果容器启动命令用了 /usr/sbin/init ,就不要有 docker-entrypoint.sh ,好像docker-entrypoint.sh会影响到 /usr/sbin/init 的运行 * docker run --privileged -it -d centos:7.6.1810 /usr/sbin/init 不加 -d 参数,容器启动就是死 ``` ##### 制作Dockerfile文件 tee Dockerfile <<-'EOF' FROM centos:7.6.1810 ENV ROOT_PASSWORD root RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ; \ echo "export LC_ALL=en_US.UTF-8" >> /etc/profile ; \ yum install -y openssh-server openssh-clients firewalld ; \ ssh-keygen -A ; \ echo "root:${ROOT_PASSWORD}" | chpasswd ; \ sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config; \ sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config; \ sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config; \ yum clean all EXPOSE 22 CMD ["/usr/sbin/init"] EOF ##### 制作Dockerfile文件结束 docker build -t centos-sshd:7.6.1810 . docker pull williamyeh/ansible:alpine3 docker tag williamyeh/ansible:alpine3 ansible-2.5 docker stop etcd1 etcd2 etcd3 ansible docker rm etcd1 etcd2 etcd3 ansibles docker network rm ansible-network docker network create --subnet=10.10.58.0/24 ansible-network docker run --privileged -itd --restart always --net ansible-network --ip 10.10.58.100 --name ansible -v $PWD:/ansible ansible-2.5 sh docker run --privileged -itd --restart always --net ansible-network --ip 10.10.58.101 --name etcd1 centos-sshd:7.6.1810 /usr/sbin/init docker run --privileged -itd --restart always --net ansible-network --ip 10.10.58.102 --name etcd2 centos-sshd:7.6.1810 /usr/sbin/init docker run --privileged -itd --restart always --net ansible-network --ip 10.10.58.103 --name etcd3 centos-sshd:7.6.1810 /usr/sbin/init ``` `` curl -L https://github.com/coreos/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-amd64.tar.gz > etcd-v3.3.12-linux-amd64.tar.gz curl -L https://github.com/coreos/etcd/releases/download/v3.3.11/etcd-v3.3.11-linux-amd64.tar.gz > etcd-v3.3.11-linux-amd64.tar.gz curl -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz > etcd-v3.3.10-linux-amd64.tar.gz ``` ``` ETCD_VER=v3.3.12 # ETCD_VER=v3.3.11 # ETCD_VER=v3.3.10 rm -rf hgp/etcd/${ETCD_VER} mkdir -p hgp/etcd/${ETCD_VER} cd hgp/etcd/${ETCD_VER} curl -L https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz > etcd-${ETCD_VER}-linux-amd64.tar.gz tar xzvf etcd-${ETCD_VER}-linux-amd64.tar.gz -C . --strip-components=1 # 因为docker-compose的放置路径是 /usr/local/bin ,所以etcd也放到该目录 \cp -rf etcd /usr/local/bin/etcd \cp -rf etcdctl /usr/local/bin/etcdctl cd .. rm -rf ${ETCD_VER} etcd --version etcdctl --version # 查看版本 ETCDCTL_API=3 ./etcdctl version ```