Docker使用

Posted ljing21

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker使用相关的知识,希望对你有一定的参考价值。

  • 安装Docker:
  1. 查看你当前的内核版本:
    uname -r
  2. 更新yum包:
    sudo yum update
  3. 卸载旧版本(如果安装过旧版本的话):
    sudo yum remove docker  docker-common docker-selinux docker-engine
  4. 安装需要的软件包:
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  5. 设置yum源:
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  6. 查看所有仓库中所有docker版本:
    yum list docker-ce --showduplicates | sort -r
  7. 安装docker:
    sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
    sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce
  8. 启动并加入开机启动:
    sudo systemctl start docker
    sudo systemctl enable docker
  9. 验证安装是否成功:
    docker version
  10. 查看docker启动状态:
    systemctl status docker
  11. 常用命令:
    docker ps #查找需要的服务
    docker logs -f 加上CONTAINER ID #查看相应的日志
    docker ps -a  #查看所有容器 
    docker rm 容器id  #删除容器
    docker images #查看镜像
    docker rmi 镜像名称 #删除镜像
    docker stop 容器ID或容器名  #停止容器 
    docker kill 容器ID或容器名  #直接关闭容器 
    docker restart 容器ID或容器名 #不管容器是否启动,直接重启容器 
  • Idea设置Docker远程插件

 技术图片

    •  1:没有插件就先安装docker插件。

技术图片

    • 4:如果显示不成功,报异常如下:

技术图片

    •  那么需要docker开启远程连接功能。
      vim /lib/systemd/system/docker.service    #编辑这个文件
      ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock   #修改内容
      systemctl daemon-reload  #重新启动docker
      systemctl restart docker

 

 

 

  • 命令操作:
    • 项目打成jar包,上传服务器,同级目录下建一个Dockerfile文件
      vi Dockerfile
      FROM java:8                           #拉取一个jdk为1.8的docker image
      MAINTAINER L                           #作者是L
      ADD app-0.0.1-SNAPSHOT.jar app.jar     #上传的jar包(app-0.0.1-SNAPSHOT.jar),替换为jar包的名称(容器中运行的是app.jar) 
      EXPOSE
      8088 #jar包在容器中运行的端口号(项目启动的端口号)
      ENTRYPOINT [
      "java","-jar","app.jar"] #容器启动之后执行的命令:java -jar app.jar  即启动jar
    • 构建镜像:
      docker build -t appimage  .    # . 表示 Dockerfile 文件在当前目录下,appimage  是镜像名称
    • 运行容器:
      docker run -d --name appimage -p 8091:8088 app
      -d: 后台运行容器,并返回容器ID; --name appimage:appimage镜像名称; -p: 端口映射,格式为:主机(宿主)端口:容器端口。意思是第一个访问服务器的端口,第二个是项目端口;

       

  •  Docker安装Redis:
    • docker pull redis:latest  #拉取官方的最新版本的镜像
      docker images            #查看是否已安装了 redis
      docker run -itd --name redis-test -p 6379:6379 redis  #运行 redis 容器
      docker exec -it redis-test /bin/bash   #通过 redis-cli 连接测试使用 redis 服务

      技术图片

       

       

       

       

       

 

 

以上是关于Docker使用的主要内容,如果未能解决你的问题,请参考以下文章

markdown docker-compose片段

sh Docker片段

《Docker 源码分析》全球首发啦!

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

将 Docker 容器限制为单个 cpu 核心