一、安装部署

1、配置yum源

yum install -y yum-utils

yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo

可能会出现以下错误:

[Errno 14] curl#35 - “TCP connection reset by peer”

centos服务器无法正常连接到docker官方的repo地址

多运行几次,默认 Docker 官方源在境外,有时网络会被拦截。

2、安装docker

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

3、设置为开机自启并立即启动

systemctl enable docker --now

4、配置加速器

mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": ["https://2c6fdfdfed044xxxxxxxxx.mirror.swr.myhuaweicloud.com"]
}
EOF

加速器建议使用华为云的(需注册),较为稳定。
华为云-容器镜像服务–镜像资源–镜像中心,点击右上角“镜像加速器”

5、重载配置并重新启动

systemctl daemon-reload
systemctl restart docker

二、开始使用

1、拉取镜像

docker pull nginx:版本名

docker pull nginx
#如不带版本名,默认最近版本nginx:latest

2、查询本地已拉取的镜像

docker images

3、删除已拉取的镜像

docker rmi 镜像名:版本名 
docker rmi 镜像id

4、启动容器

docker run -d \ #后台运行
-p 80:80 \ #端口映射
--name 应用名 \ #命名
-v 本地文件目录path:容器内文件目录path \ #文件挂载
--restart=always \ #开机自启
镜像名:版本名

5、查看正在运行的容器

docker ps

6、查看所有的容器

docker ps -a

7、删除正在运行的容器

docker rm -f 容器id
docker rm -f 应用名

8、进入容器内修改内容

docker exec -it 容器id/应用名 /bin/bash

9、提交修改后的镜像

方便于下次启动仍然按照修改后的配置运行,提交到本地仓库

docker commit -a 修改者名字 -m 变化内容 容器id  镜像名:版本名 
docker commit -a 修改者名字 -m 变化内容 容器id  镜像id

10、镜像保存

docker save -o 目标文件 镜像名:版本名 /镜像id
docker save 镜像名:版本名 > 目标文件
# 示例
docker save -o abc.tar nginx:v1.0

可将保存的文件传到其他主机上运行,如scp

11、加载镜像

docker load -i abc.tar
docker load < abc.tar

12、推送至远程仓库

其他机器就可通过docker pull拉取镜像

docker tag  #打标签
docker push #推送

1> 登录到远程仓库(如华为云或者阿里云个人仓库)

docker login --username=nick3585xxx
crpi-1dxxxwa.cn-hangzhou.personal.cr.aliyuncs.com
#可以直接使用华为云个人仓库,我是一开始使用阿里云的

2> 给需要推送的镜像打标签

docker tag hbnginx:v1.0
crpi-1dxxxwa.cn-hangzhou.personal.cr.aliyuncs.com/reaf_star/nginx:v1.0

3> 推送

docker push
crpi-1dxxxwa.cn-hangzhou.personal.cr.aliyuncs.com/reaf_star/nginx:v1.0

4> 退出登录

docke logout

三、部署应用

1、以前没有docker环境部署应用

  • springboot打包成可执行的jar包
  • 把jar包上传给服务器
  • 服务器运行java -jar

存在的问题:运行应用需要安装依赖环境,当多样应用安装时,都需要安装依赖环境,非常不方便

2、现在有docker环境后部署应用

所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行

3、应用打包-Dockerfile

编辑dockerfile指定应用该如何打包

FROM openjdk:17-jdk   #java运行环境
LABEL maintainer=reaf_star   #作者
COPY target/*.jar /app.jar   #将jar包复制到容器内
ENTRYPOINT ["java","-jar","/app.jar"]  #镜像启动命令

4、构建镜像

按照指定目录下dokcerfile里的命令构建自定义的镜像

docker build -t java-demo:v1.0 . 

5、根据镜像运行容器

docker run -d -p 8080:8080 java-demo:v1.0
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐