doker操作指令

docker的安装:

    1. 在Xtrem视图界面输入语句 yum -y install yum-utils device-mapper-persistent-data lvm2

    2. 指定镜像源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    3. 安装docker : 1. yum makacache fast  2. yum -y install docker-ce

    4.启动docker: systemctl start docke

    5.设置开机自启动: systemctl enable docker

    6.测试: docker run hello-world

镜像的操作:

    1. 镜像拉取: docker pull 镜像名称[:tag]

    2. 查看本地全部镜像: docker images

    3. 删除本地镜像: docker rmi 镜像的标识(镜像的id)

    4. 强制删除本地镜像: docker image rm -f 镜像的id

    5. 本地镜像的导出: docker save -o 导出的路径 镜像id

    6. 加载本地镜像: docker load -i 镜像文件名(注意镜像名和版本为null)

    7. 修改镜像名称和版本: docker tag 镜像id 新镜像名称:版本

容器操作:

    1. 容器运行: docker run -d -p linux宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag] 

        # -d:代表后台运行容器   

        # -p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口

        # --name 容器名称:指定容器的名称

    2. 查看全部的容器: docker ps -a

    3. 查看容器日志: docker logs -f 容器id

    4. 进入容器内容部: docker exec -it 容器id bash

    5. 复制内容到容器: docker cp 文件名称 容器id:容器内部路径

    6. 重启容器: docker restart 容器id  启动容器: docker start 容器id  停止容器: docker stop 容器id  停止全部容器: docker stop $(docker ps -qa)  删除全部容器: docker rm $(docker ps -qa)

docker的应用:

安装tomcat:

    1. docker run -d -p 8080:8080 --name tomcat daocloud.io/library/tomcat:8.5.15-jre8

安装Mysql:

    1. docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=P@ssw0rd daocloud.io/library/mysql:5.7.4

部署SSM项目:

    修改SSM工程环境,设置为Linux中Docker容器的信息

    通过Maven的package重新打成war包

    讲Windows下的war包复制到Linux中

    通过docker命令将宿主机的war包复制到容器内部 docker cp ssm.war xx:/usr/local/tomcat/webapps/

    测试访问SSM工程

数据券

    1. 创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data: docker volume create 数据卷名称

    2. 查看数据券详情: docker volume inspect 数据卷名称

    3. 查看全部数据卷: docker volume ls

    4. 删除数据卷: docker volume rm 数据卷名称

容器映射数据卷:

    1. # 通过数据卷名称映射

        docker run -v 数据卷名称:容器内部的路径 镜像id   

        栗子:docker run -d -p 8080:8080 --name ssm_tomcat -v volume_ssm_tomcat:/usr/local/tomcat/webapps b8

        关闭并删除之前启动的tomcat容器

        创建一个数据卷volume_ssm_tomcat,默认放在/var/lib/docker/volumes目录下

        执行docker run -d -p 8080:8080 --name ssm_tomcat -v volume_ssm_tomcat:/usr/local/tomcat/webapps b8

        /var/lib/docker/volumes/volume_ssm_tomcat/_data目录下有webapps目录中的内容

        把ssm.war文件放到/var/lib/docker/volumes/volume_ssm_tomcat/_data目录下

    2. # 通过路径映射数据卷

        docker run -v 路径:容器内部的路径 镜像id

        栗子:docker run -d -p 8080:8080 --name ssm_tomcat -v /opt/volume_ssm_tomcat:/usr/local/tomcat/webapps b8

        关闭并删除之前启动的tomcat容器

        执行docker run -d -p 8080:8080 --name ssm_tomcat -v /opt/volume_ssm_tomcat:/usr/local/tomcat/webapps b8

        访问tomcat时报错,volume_ssm_tomcat目录下是空的

        手动在volume_ssm_tomcat下创建一个ROOT目录,并编辑index.html文件

        把ssm.war放到volume_ssm_tomcat下,并在浏览器访问

Dockerfile自定义镜像:

    from: 指定当前自定义镜像依赖的环境

    copy: 将相对路径下的内容复制到自定义镜像中

    workdir: 声明镜像的默认工作目录

    run: 执行的命令,可以编写多个

    cmd: 需要执行的命令(在workdir下执行的,cmd可以写多个,只以最后一个为准)

    # 举个例子,制作SSM容器镜像,而且ssm.war要放在Dockerfile的同级目录下

    from daocloud.io/library/tomcat:8.5.15-jre8

    copy ssm.war /usr/local/tomcat/webapps

    1. 编写完Dockerfile后需要通过命令将其制作为镜像,并且要在Dockerfile的当前目录下,之后即可在镜像中查看到指定的镜像信息,注意最后的 . :docker build -t 镜像名称[:tag] .

Docker-Compose:

    1. 下载并安装Docker-Compose: 

    去github官网搜索docker-compose,下载1.24.1版本的Docker-Compose

    下载路径:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64

    2. 将文件上传到/root目录下,需要将DockerCompose文件的名称修改一下,给予DockerCompose文件一个可执行的权限:

        mv docker-compose-Linux-x86_64 docker-compose

        chmod 777 docker-compose

    3. 将docker-compose文件移动到了/usr/local/bin , 修改了/etc/profile文件,给/usr/local/bin配置到了PATH中

        mv docker-compose /usr/local/bin

        vi /etc/profile

        # 添加内容: export PATH=$JAVA_HOME:/usr/local/bin:$PATH

source /etc/profile

    4. 在任意目录下输入docker-compose测试

Docker-Compose管理MySQL和Tomcat容器

    1. cd /opt : 到opt目录下

    2. 创建 docker-mysql-tomcat目录: mkdir docker-mysql-tomcat

    3. cd docker-mysql-tomcat/ :切换到docker-mysql-tomcat目录

    4. vi docker-compose.yml : 编辑yml文件如下内容:

        version: '3.1'

        services:

          mysql:          # 服务的名称

            restart: always  # 代表只要docker启动,那么这个容器就跟着一起启动

            image: daocloud.io/library/mysql:5.7.4  # 指定镜像路径

            container_name: mysql  # 指定容器名称

          ports:

              - 3306:3306  #  指定端口号的映射

          environment:

              MYSQL_ROOT_PASSWORD: root  # 指定MySQL的ROOT用户登录密码

              TZ: Asia/Shanghai        # 指定时区

          volumes:

             - /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql  # 映射数据卷

      tomcat:

          restart: always

            image: daocloud.io/library/tomcat:8.5.15-jre8

            container_name: tomcat

        ports:

              - 8080:8080

        environment:

              TZ: Asia/Shanghai

        volumes:

              - /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps

              - /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs

    5. 基于docker-compose.yml启动管理的容器(也就是在含有该文件的目录下操作): docker-compose up -d

    6. 关闭并删除容器: docker-compose down

    7. 开启|关闭|重启已经存在的由docker-compose维护的容器:docker-compose start|stop|restart

    8. 查看由docker-compose管理的容器: docker-compose ps

    9. 查看日志: docker-compose logs -f

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,151评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,465评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,429评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,147评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,149评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,614评论 1 315
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,965评论 3 429
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,950评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,486评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,524评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,640评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,228评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,976评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,407评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,552评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,215评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,714评论 2 366