Docker基础

环境与安装

Centos 7 64位

# 卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 安装所需的软件包。yum-utils提供了yum-config-manager ,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 设置阿里云仓库源(官方的:https://download.docker.com/linux/centos/docker-ce.repo)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装Docker-CE(社区版)
yum install -y docker-ce

阿里云镜像加速器
DockerHub地址

基础镜像命令

# 启动Docker
systemctl start docker
# 重启Docker
systemctl restart docker
# 查看Docker状态
systemctl status docker
# 查看Docker版本
docker -v
# 从服务拉取镜像(以下以nginx为例)
docker pull nginx
# 查看镜像
docker images
# 将镜像导出磁盘成压缩文件
docker save -o nginx.tar nginx:latest
# 删除镜像
docker rmi nginx:latest
# 加载压缩文件为镜像
docker load -i nginx.tar
# 根据给定的Dockerfile和上下文以构建Docker镜像,--tag, -t,镜像的名字及tag,后面的空格+点是指构建执行所在的本地路径PATH,也可以是远程URL
docker build -t javaWeb:1.0 .

基础容器命令

# 创建运行Nginx容器,containerName给容器命名(eg:nTest),-p是宿主机和容器端口映射,:左边是宿主机端口,右边是容器端口,-d是后台运行,nginx镜像名称
docker run --name containerName -p 80:80 -d nginx
# 查看所有运行的容器及状态,-a查看所有状态的容器
docker ps
# 查看容器运行日志
docker logs -f nTest
# 进入容器,执行命令,-it给当前容器创建一个标准输入输出终端,nTest容器名,bash进入容器后执行的命令,是linux终端交互命令
docker exec -it nTest bash
# 停止容器
docker stop nTest
# 启动容器
docker start nTest
# 删除容器, -f强制删除
docker rm nTest

数据卷

接触数据和容器的耦合

# 创建数据卷,给数据卷命名html
docker volume create html
# 查看所有数据卷
docker volume ls
# 查看数据卷详细信息
docker volume inspect html
# 删除所有未使用的数据卷
docker volume prune
# 删除一个或多个指定的数据卷,html为指定数据卷名
docker volume rm html
# 创建容器并挂载数据卷到容器内的html目录
docker run --name nTest -v html:/usr/share/nginx/html -p 80:80 nginx:latest

DockerFile

自定义镜像

指令说明示例
FROM指定基础镜像FROM centos:7
ENV设置环境变量ENV key value
COPY拷贝本地文件到镜像的指定目录COPY ./xx /xx
RUN执行Linux的shell命令,一般是安装命令RUN yum install gcc
EXPOSE指定容器运行时监听的端口EXPOSE 8080
ENTRYPOINT镜像中应用的启动命令,容器运行时使用ENTRYPOINT java -jar xx.jar
## 示例
## 指定基础镜像
FROM java:8-apline
## 复制jar包
COPY ./demo.jar /tmp/demo.jar
## 暴露端口
EXPOSE 8090
## 入口
ENTRYPOINT java -jar /tmp/demo.jar

Docker Compose

快速部署分布式应用,通过指令定义集群中的每个容器如何运行(多个docker run的命令转为指令)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值