linux安装docker

1、删除以前安装的docker

sudo yum remove docker 
>                   docker-client 
>                   docker-client-latest 
>                   docker-common 
>                   docker-latest 
>                   docker-latest-logrotate 
>                   docker-logrotate 
>                   docker-engine

2、安装依赖包

sudo yum install -y yum-utils 
>   device-mapper-persistent-data 
>   lvm2

3、设置镜像源

sudo yum-config-manager 
>     --add-repo 
>     https://download.docker.com/linux/centos/docker-ce.repo

4、安装 和启动Docker-CE,添加用户

sudo yum install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker

sudo gpasswd -a $USER docker #将当前用户添加至docker用户组

newgrp docker #更新docker用户组

5、镜像加速

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF

6、拉取镜像

docker pull centos

7、查看镜像

docker images

8、运行容器

docker run -itd --name centos-latest1 centos:latest

9、容器安装成功, docker ps 命令查看容器的运行信息

设置虚拟机重启,则容器自动起:

docker update mysql --restart = always

10、进入到容器

docker exec -it 30f0 /bin/bash

11、从运行的容器保存到镜像

 docker commit 30f0 3030copy

12、网络相关

    --network host: 使用主机上的网络配置,如果不用这种模式,而用默认的bridge模式,会导致容器跨主机间通信失败

   yum install net-tools   #docker中ifconfig不可用
  ifconfig      
   ip addr show
  docker network list
  brctl show
   docker network create bridegnetDmeo
  docker run --name prinetdemo1 --rm -it --network=bridegnetDmeo centos /bin/bash
docker run -itd --name centos-zookeeper1 --network=bridegnetDmeo centos:latest   /bin/bash   docker inspect bridegnetDmeo

13、文件拷贝:

宿主机中的文件夹( /home/yhq/Downloads/jdk1.8.0_251/ ) 拷贝到 centos-kafka1容器中的/opt目录:

docker cp /home/yhq/Downloads/jdk1.8.0_251/ centos-kafka1:/opt

 14、容器中安装jdk:

先把jdk包拷贝到容器中

建文件夹:mkdir /usr/lib/jvm

安装vim命令:yum -y install vim

编辑文件:vim ~/.bashrc     (非交互式:修改 /etc/profile 文件   执行source /etc/profile使生效)

添加:

export JAVA_HOME=/opt/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行source ~/.bashrc使得环境立即生效

永久生效方法:

/.bashrc里面加一句source /etc/profile

15、容器保存为镜像

docker commit -a 'yaohuiqin' -m 'zookeeper' bd2e myzookeeper   (将容器bd2e保存为镜像名称为myzookeeper镜像)

16、镜像导出

docker save -o myzookeeper1.tar myzookeeper1:latest 

  镜像导入

docker load -i myzookeeper1.tar

17、docker端口映射

      telnet命令安装:

yum install xinetd telnet telnet-server -y

18、zookeeper集群:

conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
clientPort=2181
server.3=172.19.0.2:2888:3888
server.4=172.19.0.3:2888:3888
server.5=172.19.0.4:2888:3888

  

touch myid
echo 5 > myid
docker run -itd --name centos-zookeeper2 --network=bridegnetDmeo myzookeeper1:latest   /bin/bash
docker exec -it centos-zookeeper1 /bin/bash
vim tmp/zookeeper/data/myid 
//宿主机中查看容器中的文件
docker exec centos-zookeeper1 cat tmp/zookeeper/data/myid

 

 zookeeper 端口:

  2181:对client端提供服务

  3888:选举leader时使用

  2888:集群内机器通讯使用(leader监听此端口)

 server.A=B:C:D

  其中 A 是一个数字,表示这个是第几号服务器;

  B 是这个服务器的 ip 地址;

  C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

  D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口

  echo stat | nc 172.19.0.3 2181

  

docker exec -it b44d7d5d3903 ip addr

 

原文地址:https://www.cnblogs.com/yaohuiqin/p/12517524.html