关于Docker入门使用说明

1. Docker安装说明

docker安装

2. Docker 镜像操作

在这里插入图片描述

2.1 下载 CentOS 镜像

docker pull centos:7

2.2 查看镜像

docker images
或者
docker image ls

在这里插入图片描述

2.3 删除镜像

docker image rm -f hello-world
# -f强制删除

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203094722189.png

2.4 镜像导出

docker  save -o eureka eureka:v1 
或者
gzip > a.gz

2.5 镜像导入

docker load < a.gz
或者
docker load -i a.gz

在这里插入图片描述

3. 容器操作

在这里插入图片描述

3.1 运行镜像

  • xxxx - 镜像名, 或 image id 的前几位
  • -it 这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
  • bash 放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
  • -d 后台运行,不占用控制台
  • --name 给容器命名,不指定名称系统自动命名
  • --restart=always 容器总是自动启动
  • --rm 容器关闭时,自动删除容器
  • --net 指定连接到的网络名称
  • --ip 指定固定ip
docker run -it xxxx 

在这里插入图片描述

3.2 查看正在运行的容器

# 查看正在运行的容器
docker ps
# 查看所有容器,包括已关闭的容器
docker ps -a

在这里插入图片描述

3.3 停止容器

docker stop REPOSITORY |IMAGE ID

在这里插入图片描述

3.4 启动或重启容器

docker start REPOSITORY |IMAGE ID
docker restart REPOSITORY |IMAGE ID

在这里插入图片描述

3.5 查看容器启动后运行的应用

# 查看镜像中设置的默认应用
docker history tomcat

在这里插入图片描述

3.6 删除容器

# 不能直接删除正在运行的容器,可以加-f强制删除
docker rm REPOSITORY |IMAGE ID

#清理所有已经退出的容器
docker container prune

在这里插入图片描述

3.7 查看容器内部日志

docker logs  REPOSITORY |IMAGE ID

在这里插入图片描述

3.8 容器内部执行命令

docker exec -it 37d pwd

在这里插入图片描述

4. 数据管理

在容器中管理数据主要有两种方式:

  • 数据卷(Volumes)
  • 挂载主机目录 (Bind mounts)

4.1 目录挂载

# -v 宿主机目录:容器中的路径,宿主机目录不存在会自动创建
 docker run -d --name cat1 -v /usr/app:/opt/app tomcat

测试:进入容器,在容器/opt/app下创建一个文件f1.txt,退出容器,在宿主机/usr/app下查看文件f1.txt
在这里插入图片描述

4.2 数据卷

数据卷 是一个可供一个或多个容器使用的特殊目录

  • 数据卷 可以在容器之间共享和重用
  • 数据卷 的修改会立马生效
  • 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除
    在这里插入图片描述## 标题

4.2.1 创建数据卷

docker volume create my-vol

4.2.2 查看数据卷

docker volume ls

4.2.3 查看数据卷详情

docker inspect my-vol

在这里插入图片描述

4.2.4 挂载数据卷

docker run -d --name cat2 -v my-vol:/opt/app tomcat

在这里插入图片描述

4.2.5 删除数据卷

docker volume rm my-vol

在这里插入图片描述

4.2.6 清理无用数据卷

docker volume prune

在这里插入图片描述

5. 网络

5.1 映射指定端口

-p 宿主机端口:容器端口

# 映射指定端口
 docker run -d --name cat1 -p 80:8080 tomcat
# 查看容器信息
 docker container ls -a

在这里插入图片描述
访问测试:
在这里插入图片描述

5.2 映射多个端口

docker run -d -p 5000:5000 -p 80:8080 tomcat

5.3 映射指定端口(指定网卡)

# 映射指定端口(指定网卡)
docker run -d -p 192.168.126.130:8080:8080 tomcat
# 自动分配映射端口(指定网卡)
docker run -d -p 192.168.64.150::8080 tomcat

6. 容器互联

6.1 创建网络

-d driver,网络类型,默认 bridge,也可以是 overlay(Swarm mode)

docker network create my-net

6.2 查看网络

docker network ls

在这里插入图片描述

# 查看网络详情
docker inspect my-net

在这里插入图片描述

6.3 查看宿主机上新建的虚拟网卡

在这里插入图片描述

6.4 连接容器

docker run -dit --name app1 --network my-net centos:7
docker run -dit --name app2 --network my-net centos:7
docker exec -it app1 ping 172.18.0.1
docker exec -it app1 ping app2
docker exec -it app2 ping app1

在这里插入图片描述

7. Dockerfile

7.1 准备

  • centos:7镜像
  • jdk压缩包 jdk-8u212-linux-x64.tar.gz
  • tomcat7压缩包 apache-tomcat-7.0.96.tar.gz

7.2 配置

  • 创建一个文件夹
  • 生成一个dockerfile文件
  • 上传jdk和tomcat7的压缩文件
  • 完成构建
#以centos7为基础,安装oracle jdk8和tomcat7
FROM centos:7
#ADD命令将压缩包传入镜像中的指定目录,并同时解压缩
ADD jdk-8u212-linux-x64.tar.gz /opt/
ADD apache-tomcat-7.0.96.tar.gz /usr/
#为了方便,把文件夹名称改得简单一点
RUN mv /usr/apache-tomcat-7.0.96 /usr/tomcat
#设置环境变量
ENV JAVA_HOME=/opt/jdk1.8.0_212 \
    CATALINA_HOME=/usr/tomcat \
    PATH=$PATH:/opt/jdk1.8.0_212/bin:/usr/tomcat/bin
#暴露容器的8080端口
EXPOSE 8080
#设置启动容器时自动运行tomcat
ENTRYPOINT /usr/tomcat/bin/startup.sh && tail -F /usr/tomcat/logs/catalina.out

7.3 使用 Dockerfile 构建镜像

docker build -t tomcat:7 .

注意末尾的点,表示构建过程中从当前目录寻找文件
在这里插入图片描述

7.4 启动测试

docker run -d --name cat3 -p 8089:8080 tomcat:7

在这里插入图片描述
访问测试 http://192.168126.130:8089/
在这里插入图片描述

8. Docker测试

  • 准备一个目录
  • 挂载目录到容器/usr/local/tomcat/webapps/ROOT,并指定端口8088
  • 访问测试
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值