docker常见使用

安装docker
    uname -a  root账户登录,查看内核版本如下
    yum update  更新yum库
    yum install -y yum-utils device-mapper-persistent-data lvm2  安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo(从网页找) 设置yum源
    yum list docker-ce --showduplicates | sort -r  可以查看所有仓库中所有docker版本,并选择特定版本安装
    yum install docker-ce-17.12.1.ce 安装Docker,命令:yum install docker-ce-版本号
    systemctl start docker  启动Docker,命令:systemctl start docker
    systemctl enable docker 设置开机自启

 

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ 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仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

 

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

 

 二、问题

1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

Transaction check error:
  file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

2、卸载旧版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

3、再次安装docker

$ sudo yum install docker-ce

 

⚠️:国外镜像一般很难访问,建议配置阿里云镜像。yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


2.常用命令:
    docker images   获取镜像
    docker pull  拉取镜像
    docker search 查找镜像
    docker rmi 删除镜像(跟镜像id)
    docker rmi `docker images -q` 删除所有镜像
    docker run -it --name=取名  跟镜像   /bin/bash  已交互式方式启动镜像  exit 退出
    docker run -di --name=取名 跟镜像  以守护式方式启动(后台启动) 
    docker exec -it 取的名称 /bin/bash  进入守护式进程
    docker ps 查看镜像
    docker ps -a  查看所有镜像
    docker start 启动镜像
    docker stop 停止镜像
    docker cp 文件  容器:/路径  cp文件到容器里
    docker run -di  --name=取名  -v  文件目录:目标目录   跟镜像      与镜像目录创建映射关系
    docker inspect 容器  查看容器的所有参数
    docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos1  精确查找容器ip
    docker rm  移除容器
    docker run -di --name=mysql5.7 -p  端口映射 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7
    docker run  -di --name=tomcat7 -p  端口映射 9000:8080 -v  目录挂载 /usr/local/webapps:/usr/local/tomcat/webapps tomcat    直接拖动war包到书主机webapps目录启动
    docker run -di --name=myredis -p 6379:6379 redis  连接redis
    docker commit 容器名  镜像名  将容器保存为镜像    
    docker save -o mynginx.tar 镜像名 copy镜像到文件
    docker load -i mynginx.tar  加载copy的镜像文件

3.Dockerfile构建镜像
    例:构建jdk1.8
    1.先上传tar.gz包到服务器
    2.新建Dockerfile文件编写以下内容
    FROM centos:7         环境
    MAINTAINER itcast   作者
    WORKDIR /usr
    RUN mkdir /usr/local/java    指令
    ADD jdk-8u131-linux-x64.tar.gz /usr/local/java

    ENV JAVA_HOME /usr/local/java/jdk1.8.0_131
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin:$PATH
    3.运行命令
    docker build -t='jdk1.8' .   -t="跟要创建的镜像名称"   后面是Dockerfile文件路径
 
4.Docker私有仓库搭建
    docker pull registry  拉取镜像
    docker run -di --name=registry -p 5000:5000 registry   测试安装通过输入网址:http://192.168.124.100:5000/v2/_catalog  
    docker安装后默认没有daemon.json这个配置文件,需要进行手动创建。配置文件的默认路径:/etc/docker/daemon.json

    一般情况,配置文件 daemon.json中配置的项目参数,在启动参数中同样适用,有些可能不一样(具体可以查看官方文档),但需要注意的一点,配置文件中如果已经有某个配置项,则无    法在启动参数中增加,会出现冲突的错误。

    如果在daemon.json文件中进行配置,需要docker版本高于1.12.6(在这个版本上不生效,1.13.1以上是生效的)

    参数 daemon.json文件可配置的参数表,我们在配置的过程中,只需要设置我们需要的参数即可,不必全部写出来。详细参考官网。

    官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#/configuration-reloading。

    官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#options

    官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file
    方法1:
    1.默认没有文件,所以我们需要先创建,进入/etc/docker目录下,记得创建的文件所有者是root(vim或touch,记得chown修改所有者)
    -rw-r--r-- 1 root root 71 Dec 19 17:25daemon.json
    2.在文档中配置想要添加的参数:如,镜像加速器网站,私库网站

    # cat /etc/docker/daemon.json
    {
    "registry-mirrors":["https://d8b3zdiw.mirror.aliyuncs.com"],
     "insecure-registries": ["https://ower.site.com"],
    }
    3.创建并修改完daemon.json文件后,需要让这个文件生效
        sudo systemctl daemon-reload
    sudo systemctl restart docker.service

    sudo systemctl status docker -l

    d.查看服务
    sudo docker info
    -------------------------------------
    方法2:出现https
    docker 的私服配置文件位置在?/usr/lib/systemd/system/docker.service

    1.编辑修改docker.service文件,在service ExecStart中增加新的私服地址:--insecure-registry=IP:port(默认5000,根据docker服务器具体信息配置)

    给镜像打标签
    docker tag 镜像名 私服网址/镜像名   例 docker tag jdk1.8 192.168.124.100:5000/jdk1.8
    docker push 192.168.124.100:5000/jdk1.8    上传镜像到私服
    
    
    
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值