首页 > 技术文章 > docker笔记

zumengjie 2022-01-26 16:31 原文

服务器版本centerOS7.7

安装docker

curl -sSL https://get.daocloud.io/docker | sh

启动docker服务 

systemctl start docker

拉取一个ubuntu镜像然后输出 hell world

docker run ubuntu:15.10 echo "Hello world"

 

查看镜像列表

docker images

搜索仓库中的镜像

docker search 镜像名称

下载镜像

docker pull 镜像名称

删除镜像

docker rmi 镜像ID 注:如果镜像正在使用(有容器副本)

 

创建进入交互式容器

docker run -it ubuntu:15.10

exit 退出

创建后台启动容器

docker run -itd ubuntu:15.10

查看容器

docker ps -a 注: -a 包括停止运行的容器

查看全部容器

docker ps -a

关闭容器

docker stop 容器ID

启动已关闭的容器

docker start 容器ID

进入后台启动的容器

docker attach 容器ID 注:该方式进入后如果exit退出容器则容器会关闭.

docker exec -it 容器ID /bin/bash 注:该方式进入后exit退出系统容器不受影响.

删除容器

docker rm -f 容器ID 注: -f 无论容器是否是启动中都会删除 

删除所有已停止的容器

docker container prune

 

运行容器内的WEB应用

docker pull training/webapp 注:这是个有Python网络程序的镜像

docker run -itd -P training/webapp python app.py 注: -P 容器内部使用的网络端口随机映射到我们使用的主机上。

docker run -itd -p 80:5000 training/webapp python app.py 注: -p 容器内部的 5000 端口映射到我们本地主机的 80 端口上

查看容器内的端口映射

docker port 容器ID 

查看WEB应用程序容器的进程

docker top 容器ID

查看容器详情

docker inspect 容器ID

 

本地文件复制到容器 

docker cp 本地路径 容器ID:容器路径

容器文件复制到本地

docker cp 容器ID:容器路径 本地路径

 

复制镜像

docker commit -m="提交的描述信息" -a="指定镜像作者" 容器ID  镜像名

使用dockerfile构建镜像

FROM centos

RUN yum install -y vim

WORKDIR /usr/local

RUN mkdir test 

COPY dockerdemo.jar /usr/local/test
COPY jdk8.tar.gz /usr/local/test

WORKDIR /usr/local/test
RUN tar -zxvf jdk8.tar.gz

ENV JAVA_HOME /usr/local/test/jdk1.8.0_291
ENV PATH $JAVA_HOME/bin:$PATH

ENTRYPOINT ["java","-jar","/usr/local/test/dockerdemo.jar","&"]

在dockerfile所在目录执行 docker build -t new镜像名称 .

 

 

 

推荐阅读