docker笔记
服务器版本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镜像名称 .