docker 安装
  • 安装依赖包
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2 
    
  • 设置阿里云镜像源
    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
    
  • 安装 Docker-CE
    sudo yum install docker-ce
    
使用dockerfile构建镜像
  • dockerfile文件要放在项目同级目录
FROM java:8

MAINTAINER gyu
# 新建目录
RUN mkdir /opt/jar/
# 把jar包添加进去
# 需要改为你运行的jar包名称
ADD lib /opt/jar/lib/
ADD resources /opt/jar/lib/resources/
ADD **.jar /opt/jar/

#时区
RUN echo "Asia/Shanghai" > /etc/timezone

RUN mv /etc/localtime /etc/localtime_bak

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

EXPOSE 8080

WORKDIR /opt/

# Launch JAVA
# 需要改为你运行的jar包名称
CMD ["java", "-jar","/opt/jar/**.jar"]
1.构建镜像
docker build -t yugangdocker/uac-producer .
docker commit --author "gyu" --message "构建容器镜像" CONTAINER ID 容器名称
2.启动镜像
docker run -d -p 2100:2100 yugangdocker/uac-producer
3.删除镜像
docker rmi IMAGE ID
4.删除容器
docker rm CONTAINER ID
5、注册docker仓库
https://hub.docker.com/

创建仓库
在这里插入图片描述

6、使用 docker tag(tag是为了上传到正确的仓库位置)
docker tag imgid yugangdocker(仓库账号)/uac-producer(镜像名称):latest(镜像版本)
7、docker image查看打标签的镜像
[root@localhost yg]# docker images
REPOSITORY                               TAG                 IMAGE ID            CREATED             SIZE
yugangdocker/uac-producer                latest              9cba917a248c        8 days ago          747MB
9cba917a248c/uac-producer                latest              9cba917a248c        8 days ago          747MB
uac-producer                                         latest              9cba917a248c        8 days ago          747MB
yugangdocker/9cba917a248c/uac-producer   latest              9cba917a248c        8 days ago          747MB
hello-world                                              latest              fce289e99eb9        9 months ago        1.84kB
java                                                         8                   d23bdf5b1b1b        2 years ago         643MB
8、docker push 上传到中央仓库(首先自己创建一个仓库和镜像tag相同否则上传不上)
docker push yugangdocker/uac-producer:latest (默认:latst版本)
9、docker pull 拉取私库镜像(首先需要登录到仓库 docker login)
[root@localhost yg]# docker login
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@localhost yg]# docker pull yugangdocker/uac-producer
Using default tag: latest
latest: Pulling from yugangdocker/uac-producer
Digest: sha256:d8938c54acb8d29cc44ba939152fd8359c15f68450815884a357099c1348f380
Status: Image is up to date for yugangdocker/uac-producer:latest
[root@localhost yg]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
yugangdocker/uac-producer   latest              9cba917a248c        8 days ago          747MB
hello-world                 latest              fce289e99eb9        9 months ago        1.84kB
java                        8                   d23bdf5b1b1b        2 years ago         643MB
10、运行docker镜像
[root@localhost yg]# docker run -d -p 2100:2100 9cba917a248c
4a4d511f5a949ae222d504bdf15ef3317b888fc5defe0d627c51e81da16f2239
[root@localhost yg]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
4a4d511f5a94        9cba917a248c        "java -jar /opt/jar/…"   3 seconds ago       Up 2 seconds        0.0.0.0:2100->2100/tcp   flamboyant_raman
11、进入容器
  • docker exec -it CONTAINER ID bash
[root@localhost yg]# docker exec -it 4a4d511f5a94 bash
root@4a4d511f5a94:/opt# ls
jar
root@4a4d511f5a94:/opt# cd jar/
root@4a4d511f5a94:/opt/jar# ls
lib  resources	uac-producer.jar
root@4a4d511f5a94:/opt/jar# 
12、重启容器
docker restart CONTAINER ID 
13、保存镜像为文件
  • 如果要讲镜像保存为本地文件,可以使用Docker save命令。
    • 命令格式:
    • docker save -o 要保存的文件名 要保存的镜像 在这里插入图片描述
    • 比如这里,我们将java8的镜像保存为文件:docker save -o java8.tar lwieske/java-8
    • 完成后通过 ls 命令即可看到文件。
14、从文件载入镜像
  • 从文件载入镜像可以使用Docker load命令。
    • 命令格式:docker load --input 文件
    • 或者:docker load < 文件名
  • 此时会导入镜像以及相关的元数据信息等。首先使用SSH工具将文件上传到另一台服务器。
  • 然后通过命令载入镜像:docker load < java8.tar
  • 导入后可以使用docker images命令查看:在这里插入图片描述
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐