Docker相关知识

最近在学习Docker相关知识,记录一下,加深印象。

一、三大核心概念

镜像(Image)

容器(Container)

仓库(Repository)

二、安装及卸载

1. 产看所有docker版本,选一个自己想要的安装

yum list docker-ce --showduplicates | sort -r

 

 

 

 2. 选好之后执行安装命令,比如我选择的是上面截图的 红框里面的版本的话

yum install docker-ce-20.10.12.ce

3. 查看是否安装成功

docker version

显示版本

 4. 启动Docker

systemctl start docker

顺便给他加入一下开机启动

systemctl enable docker

5. 如果要卸载的话自己先看下自己安装了哪些

yum list installed | grep docker

然后卸载就行了

yum remove docker-ce-cli.x86_64

三、使用示例

1. 创建一个 Dockerfile 文件

FROM java:8 
ADD demo-0.0.1-SNAPSHOT.jar  /app/docker-test.jar
EXPOSE 8888
ENTRYPOINT ["java","-jar","/app/docker-test.jar"]
# 下面这句话用于解决Docker里面时间不对的情况
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone \

注意:ADD 后面跟的是我的jar包 名字,大家要改成自己的,后面跟着的也是我自己的目录

2. 我们就在Dockerfile 这个当前目录创建镜像

docker build -t java-app .

注意:java-app 是我自己取的名字,后面那个  .  不能省略,标识当前目录

3. 查看一下创建成功没

docker images

 4. 镜像创建成功了之后,那么我就就该创建容器,运行我们的镜像了

docker run -dit -p 8082:8082 --name java-web java-app

注意:

-dit 表示后台运行;

8082:8082 表示我把自己项目的8082端口映射出来,也是8082;

java-web 是我自己取的容器名字,您随意

也可以在运行的时候  8082:8082 后面加一句 -v /ect/localtime:/etc/localtime 来保证容器内时间正确

5. 其他补充命令

# 查看所有运行过的容器ID
docker ps -a -q
docker pa -a
# 启动某个容器
docker start 容器名称|容器ID
# 启动曾经所有启动过的容器
docker start 'docker ps -a -q'
# 停止容器
docker stop 容器名称|容器ID
# 删除某个容器
docker rm 容器ID|名称
# 删除某个镜像
docker rmi 镜像ID|名称
# 查看日志实时的
docker logs -f 容器ID


版权声明:本文为m0_37843652原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。