使用Docker

2021-05-17  本文已影响0人  奋斗_登

Docker是一个开源的软件部署解决方案和轻量级的应用容器框架,它可以打包、发布、运行任何的应用。即Docker是一个管理容器的构建、传输和部署的工具。
Docker主要有镜像、容器、仓库几个概念。

Centos下安装docker

安装yum-util,是为了使用yum-config-manager工具设置安装源。

yum install -y yum-utils

添加软件

#添加docker的安装源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装启动

#先更新YUM包索引
yum makecache fast
#安装docker,社区版
yum -y install docker-ce

配置国内镜像加速器
在阿里云镜像控制台->镜像工具->镜像加速器查看加速器地址。



在/etc/docker/目录下创建daemon.json添加如下内容:

{
  "registry-mirrors": ["https://fon46f0i.mirror.aliyuncs.com"]
}

载入配置并重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker
#可测试运行hello world
docker run hello-world

镜像的基本操作

#查看所有已下载的镜像 
docker images
#搜索镜像
docker search ngixn
#下载镜像可指定版本eg: docker pull nginx:1.17.8
docker pull nginx
#删除镜像 f989k3kdss为docker images命令查询到的IMAGE ID
docker rmi f989k3kdss

容器操作

# 查看正在运行的容器
docker ps
# 查看所有的容器
docker ps -a
# 启动容器 
#. -d 在后台运行
#. --name 自定义容器名,-p 用于指定服务器与Docker容器进行端口映射的端口
docker run -d -p 80:80 nginx
#-v 使用数据卷,即当容器删除时,数据还依然保存
docker run --name mysql -v /home/data/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12536 -d mysql:5.7.34
#停止容器
docker stop 容器id
#重启容器
docker start 容器id
# 查看mysql容器的Ip等信息
docker inspect mysql
# 删除容器 d95d82a7cf72为 CONTAINER ID
docker rm d95d82a7cf72
# 删除镜像 
docker rmi 94fae7da05d6
# 清理未使用的镜像[1.已停止的容器 container 2.未被任何容器所使用的卷 volume 3.未被任何网络所关联的网络network 4.所有悬空的镜像 image]
docker system prune

docker在服务器启动时自动启动

systemctl enable docker.service

docker部署springboot

  1. 将springboot项目打包jar
  2. 编辑dockerfile文件
FROM openjdk:11.0.11
VOLUME /tmp
#作者签名
MAINTAINER lipandeng
#简化jar名字路径
COPY jar/demo-0.0.1-SNAPSHOT.jar /app.jar
# --spring.profiles.active参数,如无可不填写
# CMD:在启动容器时才执行,RUN:在构建镜像时执行此行
CMD java -jar /app.jar --spring.profiles.active=node4
#设置对外端口8088
EXPOSE 8088
  1. 生成Docker镜像
#注意.不能丢
docker build -t eurekaserverdemo .
  1. 运行
#-d 后台运行
docker run -d -p 8088:8088 eurekaserverdemo
上一篇下一篇

猜你喜欢

热点阅读