Docker 安装与使用

本文详细介绍了Docker在Linux上的安装过程,包括卸载旧版本、设置镜像仓库、安装与配置阿里云镜像加速。接着,讲解了Docker的基本命令,如启动与停止、镜像操作、容器启动。通过实例演示了如何部署Nginx、Tomcat、Elasticsearch和Portainer。还探讨了数据卷挂载、自定义网络、Redis集群部署以及Springboot打包为Docker镜像的方法。
摘要由CSDN通过智能技术生成

目录

1. Linux 下安装 Docker

2. Docker 命令

3. 部署 Nginx

4. 部署 Tomcat

5. 部署 elasticsearch + portainer(可视化)

6. Commit 提交一个自己的镜像

7. 使用数据卷挂载

8. 具名和匿名挂载

9. 安装 Mysql

10. 使用 Dockerfile 挂载目录

11. 数据卷容器

12. 实战测试 构建自己的 centos

13. 测试 cmd 与 entrypoint 指令

14. 实战 制作 Tomcat 镜像

15. 发布镜像到 dockerhub

16. Dokcer 网络

16.1 docker 0

17. 自定义网络

18. 网络连通 connect 命令

19. Redis 集群部署实战

20. springboot 打包 dokcer 镜像


1. Linux 下安装 Docker

  • 本人使用虚拟机 CenOS 7 64位,搭配 MobaXterm 操作

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

3. 设置镜像的仓库

# 使用阿里云镜像
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
# 下面的是官网默认的,因为是国外的很慢,不要用官网默认这个!
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4. 更像软件包索引

yum makecache fast

5. 安装docker引擎,docker-ce 社区版 ee 企业版,全选y

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

6. 配置阿里云镜像加速,登录自己的阿里云,在控制台找到镜像服务

# 1.创建目录
sudo mkdir -p /etc/docker   
​
# 2.配置阿里云镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.xxxx.aliyuncs.com"]
}
EOF

2. Docker 命令

  • 启动 docker

  systemctl start docker            # 什么都不出现, 代表启动成功
  docker version                    # 查看版本
  sudo systemctl restart docker     # 重启docker
  sudo systemctl daemon-reload      # 重启镜像
  systemctl stop docker             # 关闭docker服务
  • 卸载docker

  yum remove docker-ce docker-ce-cli containerd.io  # 卸载依赖
  rm -rf /var/lib/docker        # 删除资源 docker 的默认工作路径
  • 镜像操作

  docker search                      # 搜索仓库中的镜像,相当于网页搜索
  docker search --filter=xxx=xxx     # 搜索过滤条件
  docker pull mysql                  # 下载镜像
  docker pull mysql:5.7              # 指定版本下载
  docker images                      # 查看下载的镜像
  docker rmi -f  镜像id/镜像名字      # 删除镜像
  docker rmi -f $(docker images -aq) # 递归删除所有镜像
  • 启动容器

# 启动mysql容器,如果本地没有,它会去docker远程仓库找,并且下载到本地,如果远程与本地都没有则报错
docker run mysql    
​
# 后台启动容器
docker run -d 镜像名/镜像id             
​
# 进入当前正在运行的容器,开启一个新的终端,可以在里面操作(常用)
docker exec -it 容器id/容器名 /bin/bash  
​
# 进入容器正在执行的终端,不会启动新的进程
docker attach 容器id/容器名
​
# 查看容器的日志,n 是可以选择多少条,不写则表示显示全部
docker logs -tf --tail n 容器id/容器名   
​
docker start 容器id/容器名   # 启动容器
docker restart 容器id/容器名 # 重启容器
docker stop 容器id/容器名    # 停止容器
docker kill  容器id/容器名   # 强行关闭容器

docker ps                   # 查看当前运行中的容器
docker ps -aq               # 查看所有容器,包括历史已关闭的容器
​
docker stats                    # 查看内容占用
docker rm -f  容器id/容器名      # 删除容器
docker rm -f $(docker ps -aq)   # 递归删除所有容器

3. 部署 Nginx

  • 部署 nginx 步骤

    docker search nginx     # 搜索 nginx
    docker pull nginx       # 下载 nginx 镜像
    ​
    # -d 后台启动 nginx,--name nginx01 命名,可不写,如果启动多个 nginx 则需要给每个 nginx 命名,-p 3344:80,暴露端口3344,可通过3344接口访问。
    docker run -d --name nginx01 -p 3344:80 nginx   
                                            
    crul localhost:3344     # 访问 nginx
    ​
    # 在本机访问宿主机中的 docker 中的 nginx ,需要把宿主机(本人使用的是虚拟机)防火墙关闭。根据 虚拟机ip:端口号 访问。
    192.168.126.128:3344    # 远程访问 nginx

4. 部署 Tomcat

  • 部署 tomcat 步骤

# 官网推荐方式,写了--rm,一次性运行,一停止即删除镜像,我们不使用这个方式
docker run -it --rm tomcat:9.0      
                                
docker pull tomcat:9.0      # 拉取镜像,带版本号 9.0
​
# 拉取下来,运行,3355 是映射的端口,暴露的端口
docker run -d -p 3355:8080 --name tomcat01 tomcat
​
docker exec -it 容器id/容器名 /bin/bash      # 进入容器,用 /bin/bash 命令进入
​
# 此时我们在外部访问 tomcat 是看不到页面的,需要把 webapps.dist 中的所有文件拷贝到 webapps 文件夹中,其中 -r 必须有,表示目录递归拷贝
cp -r webapp.dist/*  webapp 
​
curl localhost:3355     # 访问 tomcat 
192.168.126.128:3355    # 远程访问

5. 部署 elasticsearch + portainer(可视化)

  • 部署 elasticsearch 步骤

docekr pull elasticsearch:7.6.2     # 拉取镜像 7.6.2 版本,不加版本号,默认拉最新版
​
# 无限制内存启动,这样会消耗大量内存,不建议这样启动
docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node" elasticsearch:7.6.2
​
docker stats    # 查看内存占用情况
​
# 限制最小占用 64m,最大占用 512m 内存,启动,-e 为环境配置
docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS=“-Xms64m -Xmx512m” elasticsearch
​
curl localhost:9200     # 内网访问 elasticsearch
192.168.128.126:9200    # 远程访问 elasticsearch
  • 部署 portainer

# 常用的可视化工具 kibana ,这里用 portainer(Docker图像化界面管理工具)
# 中间这一堆是一些权限配置,本地卷挂载配置,下载启动
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker --
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值