docker快速上手

 

docker快速上手

安装配置

 

# 移除旧版本
sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
# 安装最新docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
# 启动 docker
sudo systemctl enable --now docker
 
# 设置开机启动
systemctl enable docker
 
# 配置加速 网上找最新的
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors":["https://mirror.ccs.tencentyun.com"]
}
EOF
# 重启进程
sudo systemctl daemon-reload 
# 重启docker
sudo systemctl restart docker

 

命令

 

#---------- 镜像
# 检索(镜像) https://hub.docker.com 慢的话直接下载
docker search
# 下载(镜像)
docker pull
# 查看已下载的镜像列表
docker images
# 删除某一个镜像
docker rmi
 
#------------ 容器
# 运行 *
docker run
# 查看
docker ps
# 停止
docker stop
# 启动
docker start
# 重启
docker restart
# 状态
docker status
# 日志
docker logs
# 进入
docker exec
# 删除
docker rm
# 批量删除
docker rm -f $(docker ps -aq)
 
#------------ 分享
# 提交
docker commit
# 保持
docker save
# 加载
docker load
# 登录
docker login
# 命名
docker tag
# 推送
docker push
 
#------------- 存储
# 目录挂载
docker run -v /[path]:/[path]
# 卷映射 docker 将卷统一存放在 /var/lib/docker/volumes/ 
docker run -v [name]:/[path]
 
#-------------网络
# 创建自定义网络
docker network create [name]
# 容器内访问其他容器
http://[容器名]:[容器内端口]

 

redis主从同步集群

 

# 主机
docker run -d -p 6379:6379 \
-v /var/lib/docker/volumes/redis-master-data:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=master \
-e REDIS_PASSWORD=123456 \
--network mynet \
--name redis-master \
bitnami/redis
 
# 从机
docker run -d -p 6380:6379 \
-v /var/lib/docker/volumes/redis-slave01-data:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=slave \
-e REDIS_MASTER_HOST=redis-master \
-e REDIS_MASTER_PORT_NUMBER=6379 \
-e REDIS_MASTER_PASSWORD=123456 \
-e REDIS_PASSWORD=123456 \
--network mynet \
--name redis-slave01 \
bitnami/redis

 

安装MySQL

 

docker run -d -p 3306:3306 \
-v /var/lib/docker/volumes/mysql-conf:/etc/mysql/conf.d \
-v mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
mysql:8.0.37-debian

 

安装nginx

 

docker run -d  -p 80:80 \
-v nginx-conf:/etc/nginx \
-v /var/lib/docker/volumes/nginx-data:/usr/share/nginx/html \
--name nginx \
nginx
 

 

docker compose

 

name: app
services:
  nginx:
    container_name: nginx
    image: nginx
    ports:
      - 80:80
    volumes:
      - nginx-conf:/etc/nginx
      - /var/lib/docker/volumes/nginx-data:/usr/share/nginx/html
    restart: always
    networks:
     - app-net
  redis-master:
    container_name: redis-master
    image: bitnami/redis
    ports:
      - 6379:6379
    volumes:
      - /var/lib/docker/volumes/redis-master-data:/bitnami/redis/data
    environment:
      - REDIS_REPLICATION_MODE=master
      - REDIS_PASSWORD=123456
    restart: always
    networks:
     - app-net
  redis-slave01:
    container_name: redis-slave01
    image: bitnami/redis
    ports:
      - 6380:6379
    volumes:
      - /var/lib/docker/volumes/redis-slave01-data:/bitnami/redis/data
    environment:
      - REDIS_REPLICATION_MODE=slave
      - REDIS_MASTER_HOST=redis-master
      - REDIS_MASTER_PORT_NUMBER=6379
      - REDIS_MASTER_PASSWORD=123456
      - REDIS_PASSWORD=123456
    restart: always
    networks:
     - app-net
  mysql:
    container_name: mysql
    image: mysql:8.0.37-debian
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - mysql-conf:/etc/mysql/conf.d
      - /var/lib/docker/volumes/mysql-data:/var/lib/mysql
    restart: always
    networks:
     - app-net
     
volumes:
  mysql-conf:
  nginx-conf:
 
networks:
  app-net:

 

compose 命令

 

# 上线(后台)
docker compose up -d
# 下线
docker compose down
# 启动
docker compose start [..appName] 
# 停止
docker compose stop [..appName] 
# 扩容
docker compose scale[appName]=[num]
 

 

 

posted @ 2025-12-10 01:28  kaisheng_reflect  阅读(2)  评论(0)    收藏  举报