docker 搭建和使用

使用场景:

  • 1、开发、测试环境

  • 2、微服务架构(K8S)-基于容器

  • docker组成:

    1、镜像仓库: 存放镜像的地方

    2、镜像: 相当于python里面类的概念,是静态的,不能直接使用

    3、容器: 是通过镜像创建的,相当于实例的概念,是动态的,可以访问的

    docker宿主机: 你的docker安装在哪一个机器,那个机器就是宿主机

  • 搭建准备

    • 1、安装VMware虚拟机(自行搭建)
    • 2、安装Xshell、xftp(SecureCRT、putty等根据个人使用习惯自行安装)
  • docker操作

    • 查看虚拟机的静态IP ifconfig
  • 进入ip配置文件设置

    • vi/etc/sysconfig/network-scripts/ifcfgens33
  • 修改静态IP,network,gateway

    • BOOTPROTO=static

    • NETMASK=255.255.255.0

    • GATEWAY=192.168.32.2

    • NETMASK GATEWAY具体设置什么,根据自己VM虚拟机的设置来

  • 复制一下到文件最后,保存退出:wq

    DEVICE=ens33

    • ONBOOT=yes
    • #ZONE=public
    • IPADDR=192.168.32.160
    • NETMASK=255.255.255.0
    • GATEWAY=192.168.32.2
    • DNS1=8.8.8.8
  • 重启网卡服务
    systemctl restart network

docker进程相关操作

#1- 查看docker 版本
docker -V

#2- 查看docker 命令
docker --help

#3- 查看docker 服务端与客户端版本详情
docker version

#4- 启动docker进程
systemctl start docker

#5- 关闭docker
systemctl stop docker

#6- 重启docker
systemctl restart docker

#7- 查看docker运行状态
systemctl status docker

#8- 关闭防火墙
systemctl stop firewalld  #disable

镜像操作

#镜像--容器的模板--打包好的---静态的概念--使用的时候请创建容器

#1- 查看镜像---本地的
docker images

#2- 搜索镜像--首先本地 --默认的地址
docker search tomcat

#3- 找到所有的镜像--拉取  pull
docker pull tomcat #最新版本
docker pull tomcat:7#最新版本

docker images
docker rmi 镜像id#删除镜像

#4- 本地有了镜像--可以创建容器
#根据tomcat镜像,创建一个myTomcat容器
docker create --name=myTomcat tomcat#  只是创建,没有运行

#5- 查看容器
docker ps #查看在运行的容器
docker ps -a#查看所有的容器

#6- 运行容器
docker start myTomcat #start 后面可以跟 容器的id(前2-3位) 或者 name

#7- 停止容器
docker stop myTomcat #start 后面可以跟 容器的id(前2-3位) 或者 name

#8- 删除没有运行的容器
docker rm 容器id或者名字

#9- 删除在运行的容器
docker rm -f 容器id或者名字

#10- 删除所有的容器
#先停止所有的容器
docker stop $(docker ps -a -q)
#删除
docker rm $(docker ps -a -q)

运行容器的一些操作

#我需要搭建一个web项目---tomcat
#1- 访问端口   你需要访问的是容器内部的端口
#2- war项目文件这么传递给容器里的tomcat里webapps下

#1- 查看docvker run 命令---创建并且启动容器
docker run --help
docker run 后面的参数
    -i #运行容器
    -t #容器启动后,进入命令行
    -v #目录映射--挂载
    -d #守护进程--后台运行
    -p #端口映射  如果容器里有tomcat  ,你本机的windows想访问:
        #docker tomcat 端口号是8080,需要在虚拟机映射一个端口            9099
        #windows才可以访问  http://虚拟机的ip:9099

#2- 创建容器,并且进入命令行---进入容器
docker run -di --name=mytomcat2 tomcat
docker run -it --name=myTomcat tomcat /bin/bash

#3- 退出
exit #容器已经退出

#4- 有没有一起启动方法,不退出容器
#创建运行一个守护的容器
docker run -id --name=myTomcat2 tomcat 
#进入
docker exec -it myTomcat2 /bin/bash

****宿主机与docker容器的文件传递

#1- 在宿主机创建一个文件
touch xt.txt
#2- 把改文件复制到容器里去
docker cp xt.txt myTomcat2:/
#3- 进入根目标
cd /
#查看
ls

#1- 怎么从容器中的文件copy  到宿主机里
touch abc.txt
#2- 退出容器
exit
#3- 
docker cp myTomcat2:/abc.txt /root

访问tomcat

#启动并且作为守护进程
#-p 宿主机的端口:容器里应用的端口 8080  不冲突就行
#war挂载宿主机 -v  宿主机的路径:容器路径    路径会新建
docker run -di --name=myTomcat -p 8080:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat

http://虚拟机ip:9999
#2- 把war包放到宿主机的挂载目录里 ,直接刷新浏览器就出现项目的页面

#微服务 k8s  容器式的性能测试

#启动容器时关联其他容器   mysql独立的容器(给下账号密码。默认是root)

docker run -di --name=tomcat2 -p 8080:8080 --link mysql --link redis --link rabbitmq

docker logs 命令
docker logs [options] 容器`获取容器的日志

#  例如打印容器`mytest`应用后10行的内容 
docker logs -f --tail 10 a4dac74d48f7
通过docker logs命令可以查看容器的日志。
docker logs -f -t --tail 100 datacenter

命令格式:
$ docker logs [OPTIONS] CONTAINER
  Options:
        --details        显示更多的信息
    -f, --follow         跟踪实时日志
        --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳
        --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
例子:
查看指定时间后的日志,只显示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
查看最近30分钟的日志:

$ docker logs --since 30m CONTAINER_ID
查看某时间之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某时间段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

docker加速

默认情况下,docker下载镜像是从官网下载,下载速度特别特别的慢。使用阿里云加速器可以提升获取Docker官方镜像的速度 
在指定目录创建文件(如已存在请忽略此步):
vi /etc/docker/daemon.json

修改文件内容为:

{
  "registry-mirrors": ["https://v2c6fjn8.mirror.aliyuncs.com"]
}
+   注意:此网址是从阿里云控制台复制过来的,每个登录用户都不一样。当然用上面的这个地址也可以 

+ 重启docker服务 
systemctl restart docker

docker安装

1、卸载旧版本

 较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项 


sudo yum remove  docker \
		 docker-client \
         docker-client-latest \
         docker-common \
         docker-latest \
         docker-latest-logrotate \
         docker-logrotate \
         docker-engine

2、##安装 Docker Engine-Community

使用 Docker 仓库进行安装

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

sudo  yum install -y yum-utils device-mapper-persistent-data lvm2

3、使用以下命令来设置稳定的仓库。

阿里云仓库

sudo  yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker Engine-Community

4、安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

sudo yum install docker-ce docker-ce-cli containerd.io
启动docker
sudo systemctl start docker
posted @ 2021-06-07 16:19  太白之魔童降世  阅读(107)  评论(0编辑  收藏  举报