Docker的使用

99 阅读3分钟

Docker的应用场景:Web应用的自动打包和发布,自动化测试和持续集成、发布等

Docker的基本概念:镜像:相当于一个root文件系统;容器:镜像运行时的实体,可以被创建,启动,停止,删除;仓库:用来保存镜像。

docker的安装参考:CentOS Docker 安装 | 菜鸟教程 (runoob.com)

docker的基本使用

docker命令的基本操作:

镜像操作:
    1、拉取镜像:docker pull 镜像名称:[版本号]  
    2、查看本机有哪些镜像: docker images
    3、搜索镜像:docker search 镜像名称
    4、删除镜像:docker rmi 镜像名;删除某个镜像时,必须先删除其对应容器
  容器操作:
      查看所有的容器:docker ps -a;查看正在运行的容器:docker ps
    1、首次启动镜像并进入容器内部:docker run -it 镜像名 /bin/bash;以此种方式启动容器时,当退出容器时,容器也会停止。
    2、以后台方式启动镜像:docker run -itd 镜像名 /bin/bash  (-d)
    3、启动一个已经停止的容器:docker start 容器ID(在第一次启动容器时生成)(容器名称)
    4、停止一个容器:docker stop 容器ID(容器名称)
    5、重启一个容器:docker restart 容器ID(容器名称)
    6、退出容器:exit or ctrl+d
    7、以后台方式启动的docker服务如何进入docker容器:docker exec -it 容器ID(容器名称) /bin/bash
    8、导出容器:docker export 容器ID >xxx.tar
    9、导入容器为某个镜像:cat docker 容器快照名称 | docker import - 镜像名:镜像版本
    10、删除某个容器:docker rm -f 容器ID(容器名称)
    11、启动容器并给容器命名: docker run -d --name 容器名 镜像名
    12、查看容器日志:docker logs 容器ID(容器名称)
    13、构建镜像:docker build -t imageName:tagName ./(dockerfile文件的位置) dockerfile文件
    14、打包镜像:docker save imageName:tagName -o xxx.tar
    15、加载镜像:docker load -i xxx.tar
    16、如何在外部访问docker容器内部的应用:可以使用 -P或者-p
        使用-P:将容器内部的端口号随机映射到主机的端口 eg:docker run -d -P 镜像名
        使用-p:将容器内部端口绑定到指定的主机端口   eg:docker run -d -p 主机端口:容器内部端口 镜像名成

DockerFile文件说明:

指令必须大写,且第一个必须是FROM
FROM openjdk:8u121  #该镜像基于哪个镜像 指令时FROM
RUN mkdir /TRS   #镜像构建时运行的指令,指令是RUN,可以有多个
COPY ./wzrb-webuser.jar /TRS/wzrb-webuser.jar #拷贝宿主机的文件到镜像当中,指令是COPY
COPY ./restart.sh /TRS/restart.sh
WORKDIR /TRS #镜像终端默认进入的目录,指令是WORKDIR
RUN chmod +x /TRS/restart.sh
CMD ["./restart.sh"] #容器启动时默认执行的指令,指令是CMD,其后可以直接是命令,也可以是命令字符串数组,推荐使用命令字符串数组,如: CMD ["java","-jar","xx.jar"]

docker compose:用来定义和运行多容器docker应用程序的工具,使用Compose,可以通过yml文件配置应用程序需要的所有服务;然后使用一个命令,就可以从yml文件中创建并启动所有服务
验证是否有docker-compose命令,可以使用 docker-compose version查看其版本,如果没有需要安装。
启动命令:docker-compose 配置文件 up (-d 后台启动) 关闭并删除容器命令 docker-compose -f 配置文件 down 停止容器: docker-compose stop 服务名

docker-compose详情查看:详情可查看:Docker Compose | 菜鸟教程 (runoob.com)

docker容器如何访问主机目录资源:通过挂载的方式,使用-v命令

docker run -d --name 容器名 -v 主机目录:容器目录 镜像名称

二、docker的其他操作

1、重启docker服务: systemctl restart docker
2、配置国内镜像加速服务:配置文件为 /etc/docker/daemon.json,
   如果该文件不存在,可手动创建该文件,内容如下:
{ "registry-mirrors": 
            ["https://hub-mirror.c.163.com", 
            "https://mirror.baidubce.com", 
            "https://docker.mirrors.ustc.edu.cn"] 
}