美文网首页
docker学习

docker学习

作者: ryh000 | 来源:发表于2019-01-29 23:00 被阅读0次

    docker安装

    Ubuntu 14.04 16.04 (使用apt-get进行安装)

    # step 1: 安装必要的一些系统工具

    sudo apt-get update

    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

    # step 2: 安装GPG证书

    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

    # Step 3: 写入软件源信息

    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

    # Step 4: 更新并安装 Docker-CE

    sudo apt-get -y update

    sudo apt-get -y install docker-ce

    --------------------------------------------------------------------------------------------------------------------------------------------------

    # 安装指定版本的Docker-CE:

    # Step 1: 查找Docker-CE的版本:

    # apt-cache madison docker-ce

    #  docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages

    #  docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages

    # Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)

    # sudo apt-get -y install docker-ce=[VERSION]


    常用Dockerfile

    ubuntu14.04+lamp

    FROM ubuntu:14.04

    RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

    RUN sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

    ENV TZ=Asia/Shanghai

    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

    # Update sources

    RUN apt-get update -y

    # install http

    RUN apt-get install -y apache2

    RUN mkdir -p /var/lock/apache2 /var/run/apache2

    RUN sed -i '$a\ServerName 127.0.0.1'  /etc/apache2/apache2.conf

    RUN apt-get install -y mysql-client mysql-server

    RUN apt-get install -y mysql-client mysql-server

    RUN service mysql start &&\

    mysqladmin -u root password root &&\

    mysql -u root -proot -e "create database mydata;" &&\

        mysql -u root -proot mydata < /etc/mydata.sql 

    RUN apt-get install -y software-properties-common

    RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

    RUN apt-get update && apt-get install -y --no-install-recommends \

            libapache2-mod-php5.6 \

            php5.6 \

            php5.6-cli \

            php5.6-curl \

            php5.6-dev \

            php5.6-gd \

            php5.6-imap \

            php5.6-mysql \

        && apt-get clean \

        && rm -fr /var/lib/apt/lists/*

    COPY ./start.sh /start.sh

    RUN chmod +x /start.sh

    EXPOSE 80

    CMD ["/start.sh"]

    start.sh

    #!/bin/bash

    /etc/init.d/apache2 restart

    service mysql restart

    /usr/bin/tail -f /dev/null #或者/bin/bash


    命令及用法

    docker build -it test_tag .       //-it是为了给容易命名新的tag,.为dockerfile的路径

    docker run -itdp 80:80 test_tag  //-it是容器的tag,-d是后台运行,-p是端口映射

    docker stop 容器id

    进入容器

    docker exec -it 容器id /bin/bash //这里使用/bin/bash进入容器

    docker exec -it 容器id sh            // /bin/bash用不了的情况可以使用该命令进入容器

    删除容器或镜像

    docker rm 容器id

    docker rmi 镜像id

    docker stop `docker ps -aq`       //关闭所有容器

    docker rm `docker ps -aq`          //删除所有容器

    docker rmi `docker images`   //删除所有镜像,只有先执行前两个命令才可用第三个命令,不然会报错

    重命名镜像

    docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

    查看容器ip

    docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>

    docker inspect <container id>

    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

    相关文章

      网友评论

          本文标题:docker学习

          本文链接:https://www.haomeiwen.com/subject/ikwfsqtx.html