Docker操作
Docker基本操作
# 删除 docker 容器
docker rm 关键字(名字、容器ID)
# 删除docker所有容器
docker ps -a -q | xargs docker rm
docker rm -f $(docker ps -qa)
# 删除 docker镜像
docker rmi 关键字(名字、容器ID)
# 删除docker所有镜像
docker images -a -q | xargs docker rmi
docker rm -f $(docker images -a -q)
# 容器内数据复制到docker主机
docker cp
# 启动tomcat并且设置对外暴露端口
docker run -it -p 8888:8080 tomcat
# 进入容器跟目录
docker exec -it ID /bin/bash
# 容器内文件复制到宿主机
docker cp ID:/1.txt /root/1.txt
# 容器打镜像
docker commit -a="CHENYB -m="chen test" ID atquiqu/mytomcat:test1.0
# 查看容器详情
docker inspect ID
# 镜像变更历史
docker history ID
-
创建数据容器卷
- 命令创建
-
# 创建数据容器卷,启动容器,并且在容器内建立与宿主机共享文件夹‘:’前为宿主机文件夹后为容器内文件夹 docker run -it -v /centos7Data:/hostData ID # 创建数据容器卷,但是容器内只读权限,‘ro’red only 权限智能限制容器,不能限制宿主机 docker run -it -v /centos7Data:/hostData:ro ID
- Dockerfile 创建
- Docker脚本内容
-
# volume test FROM centos VOLUME ["/hostData1","/hostData2"] CMD echo "finished,--- success1 " CMD /bin/bash
- 执行Dodkcerfile 脚本
- 执行根目录下/mydocker下的Dockerfile文件,创建daokcer镜像,启动镜像后会在宿主机默认位置/var/lib/docker/volumes/?/_data 创建对应的共享文件夹,‘docker inspect’命令可以查看,命令行最后一个'.'不要忽略
-
docker build -f /mydocker/Dockerfile -t CHENYB/centos:1 .
- 容器数据复制
-
docker run -it --name data2 --volumes-from data1 ID docker run -it --name data3 --volumes-from data1 ID
- 多容器之间的复制是互相的,1、2、3之间可以互相复制,少了哪个容器后复制仍会继续,容器卷共享生命周期一直持续到没有容器使用为止
-
-
Dockerfile 保留字指令
-
FROM 基础新镜像基于的镜像
-
MAINTAINER 作者+作者邮箱
-
RUN 容器构建时需要运行的命令
-
EXPOSE 对外暴露的端口号
-
WOEKDIR 登录后进入的目录,没有指定默认为根目录
-
ENV 在构建过程中设置环境变量,可以被引用
-
ADD COPY+解压缩
-
COPY 复制,源路径的文件复制到新的一
-