Linux使用Docker

简介:

Docker 是一个开源的应用容器引擎。

  应用场景

  • Web 应用的自动化打包和发布。

  • 自动化测试和持续集成、发布。

  官网地址:https://www.docker.com 

  文档地址:https://docs.docker

一、docker安装

  1. CentOS 系统的内核版本高于 3.10 :> uname -r
  2. 查看是否已经安装过docker: > yum list installed | grep docker
  3. 存在可以手动删除:> yum remove –y docker.x86_64++
  4. 安装docker:> yum install -y docker(或是这个 yum install docker
  5. 启动docker:> service docker start(或>systemctl start docker.service )
  6. 重启:restart    停止:stop     查看:status
  7. 查看是否启动  ps -ef |grep docker
  8. 设置开机启动       systemctl enable docker

二、帮助命令

  1. 查看版本:> docker version
  2. 查询docker的系统信息:> docker info
  3. 帮助命令:> docker 命令 --help  

三、镜像命令

  1. 列举本地镜像:> docker images
  2. 查询镜像:> docker search 镜像名(mysql)
  3. 下载镜像(不写tag默认最新latest):> docker pull 镜像名[:tag] 例如:docker pull redis:latest
  4. 删除镜像:> docker rmi -f 容器id
  5. 删除全部容器:> docker rmi -f $(docker images -aq)

四、容器命令

  1. 查看docker里面的容器有那些:> docker ps -a
  2. 查看当前正在运行的容器: > docker ps
  3. 启动容器container id或 name:如:> docker start mysql
  4. 重启容器:restart
  5. 删除docker中的容器:> docker rm 容器id or name
  6. 停用并删除所有容器:> docker stop $(docker ps -q) & docker rm $(docker ps -aq)
  7. 进入容器  docker run -it centos /bin/bash
  8. 退出容器  exit
  9. 查看运行命令  docker ps -a --no-trunc
  10. 容器内vim 编写文件安装的插件龟速,建议使用:docker cp 模式复制>例子: https://www.cnblogs.com/yzeng/p/13898499.html

五、安装常用环境

  1. redis 下载镜像安装容器运行 a-> docker run -itd --name redis -p 6379:6379 redis:latest   b、客户端使用-> docker exec -it myredis redis-cli
  2. postgres  a、安装 -> docker pull postgres:9.6    b、启动-> docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:9.6
  3. mysql  a、拉取镜像-> docker pull mysql:5.7  b、启动-> docker run --name mysql5.7 -e POSTGRES_PASSWORD=123456 -P -d mysql:5.7
  4. nginx

 备注:具名挂载和匿名挂载,将容器的环境配置挂载至服务器,修改只需要在服务器配置重启环境即可,无需进入容器修改

  •   --name 镜像启动后名字
  •   -p  主机端口:容器端口
  •   -d 后台运行
  •   -e  修改配置
  •   -it 使用交互方式运行,进入容器查看内容

六、挂载(具名、匿名)例子:nginx

  1、具名挂载:> docker run -d -p 80:80 --name  nginx01 -v test-nginx:/etc/nginx nginx

  2、查看挂载地址: > docker volume inspect test-nginx

  3、查看挂载地址: > docker volume inspect test-nginx

 备注:

  • 查看卷情况:docker volume ls
  • 删除卷:> docker volume rm 卷名
  • 容器内的卷没有指定目录的情况下在:/var/lib/docker/volumes/xxx/_data
  • ro 、rw 改变读写权限  readOnly readwrite(例:docker run -d -P --name  nginx01 -v test-nginx:/etc/nginx:ro nginx)
  • -P(大写)随机映射端口
  • -v 容器内路径 #匿名挂载
  • -v 卷名:容器内路径 #具名挂载
  • -v /宿主机路径:容器内路径 #指定路径挂载

七、springboot打包发布

  1.idea安装docker工具,方便编辑高亮

  2.项目添加Dockerfile,不用后缀

FROM java:8
COPY *.jar /demo.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/demo.jar"]

  3.上传至服务器,新建文件夹,打包(注意后面有个点点):> docker build -t testweb .

  4.速度慢可修改镜像地址,docker images 查看是否已经正常安装

  5.启动:> docker run --name testweb -p 80:8080 -d IMAGEID前3位 

      > docker run -d --name springboot-pro testweb -p 80:8080

  6.验证:> curl localhost:8080/hello

八、配置私有仓库Harbor

  1、配置docker上传、下载连接:> vim /usr/lib/systemd/system/docker.service

    ExecStart=最后面添加重启docker  --insecure-registry=192.168.xxx.xxx:8014

  2、打包:> docker tag demojava 192.168.xxx.xxx:8014/test/demojava

  3、登录harbor,输入用户名密码: > docker login 192.168.xxx.xxx:8014

  4、推送至仓库: > docker push 192.168.xxx.xxx:8014/test/demojava

  5、其他服务器docker下载: > docker pull 192.168.xxx.xxx:8014/test/demojava

  6、运行同上

九、redis集群(待补充...)

 

posted on 2020-07-27 16:07  fuanfei  阅读(280)  评论(0)    收藏  举报