docker命令,docker安装其他组件

93 阅读3分钟

查看docker安装包

yum list installed | grep docker

出现下图:

Repository epel is listed more than once in the configuration
docker-ce.x86_64                     3:20.10.11-3.el8                        @docker-ce-stable
docker-ce-cli.x86_64                 1:20.10.11-3.el8                        @docker-ce-stable
docker-ce-rootless-extras.x86_64     20.10.11-3.el8                          @docker-ce-stable
docker-scan-plugin.x86_64            0.9.0-3.el8     

卸载docker

yum remove docker-ce.x86_64 docker-ce-cli.x86_64  docker-ce-rootless-extras.x86_64 docker-scan-plugin.x86_64

docker复制文件

# 查看容器id
docker ps -a
# 复制容器内文件到本地
docker cp 容器ID:目标文件路径 本地文件路径
# 复制本地文件到容器
docker cp 本地文件路径 容器ID:容器内文件夹

docker服务自启动

# docker服务创建启动时增加参数
docker run –restart=always
# 如果已经启动了,增加自启动
docker update –restart=always <CONTAINER ID>
# docker-compose配置自启动
restart: always
# 关闭自启动
docker update --restart=no <CONTAINER ID>
# 所有容器都关闭
docker update --restart=no $(docker ps -q)

docker安装其他组件

tomcat

  1. https://hub.docker.com/上找到适合的tomcat版本
  2. 然后拉取docker pull tomcat:9.0.58-jdk8
  3. 简单启动(不映射任何容器中的文件到主机中)docker run --name tomcat -p 8080:8080 -d tomcat
  4. 注意最新版的tomcat可能没有webapps,而是webapps.dist,需要改下名字
docker exec -it tomcat bash
# 进入webapps目录下
mv webapps.dist webapps

zookeeper

docker pull zookeeper
docker run -d --name zookeeper -p 2181:2181 -t zookeeper:3.5.8

kafka

docker pull wurstmeister/kafka:2.12-2.3.1
docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092  wurstmeister/kafka:2.12-2.3.1

mysql

# 查看mysql版本
docker search mysql

# 拉取mysql-server
docker pull mysql/mysql-server

# 运行mysql容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql/mysql-server --lower-case-table-names=1

# 进入
docker exec -it mysql bash

mysql -u root -p
# 输入密码 root

# 授权、刷新授权、修改root密码、刷新授权
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
# 更新密码
ALTER USER 'root'@'%' IDENTIFIED BY 'D~INMM9HB)5Da!x';
ALTER USER 'root'@'localhost' IDENTIFIED BY 'D~INMM9HB)5Da!x';
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'D~INMM9HB)5Da!x';
flush privileges;

# 可以连接了

# 查看版本号
select version();

postgres

# 见图一
docker search postgres
# 见图二
docker pull postgres
# 见图三
docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres

redis

docker pull redis:latest
docker run -itd --name redis -p 6379:6379 redis  --requirepass 123456@
docker exec -it redis bash

docker-compose.yml 安装zookeeper和kafka

version: '3'
services:
  zk1:
    image: zookeeper:3.5.8
    ports:
      - "2181:2181"
    hostname: zk1
    container_name: zookeeper
  kafka:
    image: wurstmeister/kafka:2.12-2.3.1
    depends_on:
      - zk1
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_CREATE_TOPICS: "test:1:1"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zk1:2181
    volumes:
      - /Users/tianci/DockerFile/zkAndKafka/docker.sock:/var/run/docker.sock
    container_name: kafka
# 服务打包
docker-compose build
# 服务启动
docker-compose up -d

consul

docker search consul
docker pull consul
docker run -d -p 8500:8500 --name=consul consul agent -server -node=consul -bootstrap -ui -client='0.0.0.0'

nacos

docker pull nacos/nacos-server:v2.1.1-slim
docker run --env MODE=standalone --name nacos -d -p 8848:8848 -p 9848:9848 nacos/nacos-server:v2.1.1-slim

nginx

docker run --name nginx -v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -p 80:80 -d nginx