zoukankan      html  css  js  c++  java
  • Self-Paced Training (2)

    Agenda-

    Building Images

    Dockerfile

    Managing Images and Containers

    Distributing Images on Docker Hub

    Docker Volumes

    Basic Container networking

    Docker in continuous integration

    Build New Image

    1. Create a container from an Ubuntu image and run a bash terminal: docker run -i -t ubuntu:14.04 /bin/bash
    2. Inside the container, install curl: apt-get install curl
    3. Exit the container terminal
    4. Run docker ps -a and take note of your container ID
    5. Save the container as a new image. For the repository name use <yourname>/curl. Tag the image as 1.0: docker commit <container ID> <yourname>/curl:1.0
    6. Run docker images and verify that you can see your new image

    Use New Image

    1. Create a container using the new image you created in the previous exercise. Run /bin/bash as the process to get terminal access: docker run -i -t <yourname>/curl:1.0 /bin/bash
    2. Verify that curl is installed: which curl  

    Dockerfile Instructions

    Instructions specify what to do when building the image

    FROM instruction specifies what the base image should be

    RUN instruction specifies a command to execute 

    #Example of a comment

    FROm ubuntu:14.04
    
    RUN apt-get install vim
    
    RUN apt-get install curl

    Docker Build

    docker build [options] [path]

    Common option to tag the build: docker build -t [repository:tag] [path]

    docker build -t johnnytu/myimage:1.0 .
    
    docker build -t johnnytu/myimage:1.0 myproject 

    Build from Dockerfile

    1. In your home directory, create a folder called test
    2. In the test folder, create a file called “Dockerfile”
    3. In the file, specify to use Ubuntu 14.04 as the base image: FROM ubuntu:14.04
    4. Write an instruction to install curl and vim after an apt-get update: RUN apt-get update && apt-get install -y curl vim
    5. Build an image from the Dockerfile. Give it the repository <yourname>/textimage and tag it as 1.0: docker build -t johnnytu/textimage:1.0 .
    6. Create a container using your newly built image and verify that curl and vim are installed

    Try CMD

    1. Go into the test folder and open your Dockerfile from the previous exercise
    2. Add the following line to the end: CMD ping 127.0.0.1 -c 30
    3. Build the image: docker build -t <yourname>/textimage:1.1 .
    4. Execute a container from the image and observe the output: docker run <yourname>/testimage:1.1
    5. Execute another container from the image and specify the echo command: docker run <yourname>/textimage:1.1 echo “hello world”
    6. Observe how the container argument overrides the CMD instruction

    Push to Docker Hub

    1. Login to your Docker Hub account
    2. Create a new public repository called “testexample
    3. Tag your local image to give it the same repo name as the repository you created on Docker Hub: docker tag <yourname>/testimage:1.1 <yourname>/testexample:1.1
    4. Push the new image to Docker Hub: docker push <yourname>/testexample:1.1
    5. Go to your Docker Hub repository and check for the tag

    Mount a Volume

    Volumes are mounted when creating or executing a container

    Can be mapped to a host directory

    Volume paths specified must be absolute

    Execute a new container and mount the folder /myvolume into its file system

    docker run -d -P -v /myvolume nginx:1.7

    Execute a new container and map the /data/src folder from the host into the /test/src folder in the container

    docker run -i -t -v /data/src:/test/src nginx:1.7

    Create and test a Volume

    1. Execute a new container and initialise a volume at /www/website. Run a bash terminal as your container process. docker run -i -t -V /www/website ubuntu:14.04 bash
    2. Inside the container, verify that you can get to /www/website
    3. Create a file inside the /www/website folder
    4. Exit the container
    5. Commit the updated container as a new image called test and tag it as 1.0. docker commit <container ID> test:1.0
    6. Execute a new container with your test image and go into it’s bash shell. docker run -i -t test:1.0 bash
    7. Verify that the /www/website folder exists and the there are no files inside

    EXPOSE net work port

    Create a Link

    1. Create the source container first. docker run -d —name database postgres
    2. Create the recipient container and use the —link option. docker run -d -P —name website —link database:db nginx
  • 相关阅读:
    java接口鉴权之sign签名校验与JWT验证
    完整的后端开发流程-深入浅出Java线程池:使用篇
    Java多线程加法计算--Java识别静态验证码和动态验证码
    超全面设计指南:如何做大屏数据可视化设计?
    vue+echarts+datav大屏数据展示及实现中国地图省市县下钻
    开源」目前见过的最好的开源OA产品架构师之路(一):何时选用合适的语言
    如何做大屏数据可视化设计?
    Spring项目方便调试打印请求信息点击跳转到方法
    Echart生成的报表导出为PDF
    java环境变量一键配置
  • 原文地址:https://www.cnblogs.com/thlzhf/p/5325977.html
Copyright © 2011-2022 走看看