Docker uses simple commands

Source: Internet
Author: User
Tags commit touch centos git clone docker ps docker hub docker run docker registry

Ctrl + P + Q back to host shell, container detach state

Create a container in which to run the Bash app: sudo docker run-t-i Ubuntu:12.04/bin/bash

List mirrors: Docker images/image ID uniquely identifies a mirror

Create and run the Image: Docker run-t (Assigning a pseudo-TTY)-I (interactive mode) Ubuntu:12.04/bin/bash
Ubuntu is the warehouse name
12.04 is tag

$ sudo docker run-t-i-c 100-m 512mb-h test1-d--name= "Docker_test1" Ubuntu/bin/bash create a CPU priority of 100, memory limit 512MB, host A container named test1 named Docker_test1 running bash in the background specifies the network mode:-net=host/container:name_or_id/none/bridge Host: Use the same IP and port as the host, and the container will not be virtual Plan your own network card and configure your own IP) container: The newly created container shares an IP and port with a container that already exists, does not configure itself, instead of the shared host's None:docker container itself has the network, and does not configure it, it needs to manually add the network card, with IP bridge:docker default network settings, Docker container to Docker0 as a virtual bridge or call routing, all Docker containers are connected to this Docker0, by Docker0 to do routing, by the Docker0 Bridge to assign IP list the main Machine Bridge: yum-y install Bridge-utils/brctl Show uses a specific range of IPs: need to install bridge-utils ensure: 1.
                    Docker process is stopped: Service Docker Stop/systemctl stop Docker shuts down and uninstalls Docker0 bridge (you can also do without uninstalling) IP link set dev docker0 down Brctl delbr Docker0 2.  Create a custom bridge: $ brctl addbr bridge0 $ ip addr Add 192.168.5.1/24 dev Bridge0 $

     IP link set dev bridge0 up//ip addr Show Bridge0 view       3. Modify the Docker file to specify the bridge you created $ cat/etc/sysconfig/docker | grep ' options= ' options=--selinux-enabled-b=bridge0-h fd://4. Note If you delete the default
 Docker0 bridging, the Docker default bridging is assigned to the BRIDGE0, it is best to add--net=none when creating the container, to prevent the auto-assigned IP from having conflicts in the LAN

Container communication between different hosts:
With: Pipework
git clone https://github.com/jpetazzo/pipework.git
$ sudo cp-rp pipework/pipework/usr/local/bin/

    Pipework br0-i eth0 a46657528059 192.168.115.10/24@192.168.115.2
        # Default does not specify a network card device name, the default is added as Eth1
        # in addition pipework Static routes cannot be added, and if there is a need, you can add--privileged=true permissions to the container manually,
        but this security is defective, you can use IP netns to add static routes through IP netns operations to


    avoid creating containers Use the--privileged=true option to cause some unnecessary security issues
        $ docker inspect--format= "{{. State.pid}} "a46657528059 # Gets the specified container Pid
        6350
        $ sudo ln-s/proc/6350/ns/net/var/run/netns/6350
        $ sudo ip netn s EXEC 6350 IP route add 192.168.0.0/16 dev eth0 via 192.168.115.2
        $ sudo ip netns exec 6350 IP route    # Add success

Into the Mirror:
Mode 1:docker Attach Con_name attaches the terminal to the terminal of the container that is running the container named Con_name, provided the corresponding SH is specified when the container is created
Way 2:docker Exec-ti Jiedai-op/bin/bash

Turn on/off/kill Image:
Docker start CONTAINER
Stop/t executable time-out
Kill/kill-s Signal Type
Restart/t executable time-out
Pause
Unpause
Rm
Commit commits the specified container as mirrored
Inpect
Logs output specifies container log information-f (similar to tail-f)

       Create container without starting
          creation: Docker create-t-I centos/bin/bash    
          run: Docker start-a-I container ID

Search Image: Docker search centos/ubuntu (default download All)

Docker Info: Docker info

Image information: Docker PS (Query-initiated container)/Docker ps-a (View all containers)/Docker ps-as (View all containers and show size)

Pull Image: Docker pulls Centos/ubuntu
Docker pull ubuntu:14.04 Download execute version Ubuntu official image
Equivalent to: sudo docker pull registry.hub.docker.com/ubuntu:12.04
Other sources available: sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04

Push Image: Docker push 192.168.0.100:5000/ubuntu (ubuntu:14.04)

Remove Image: Docker rmi-f (mandatory) Docker.io/ubuntu

Delete Container: Docker rm python_test

Port mapping: Docker run-t-p–expose 22–name Server ubuntu:14.04 (-p need to specify the –expose option when using, specify ports that need to be serviced externally)

Bind port to specified interface: sudo docker run-p 127.0.0.1:80:8080 <image> <cmd>
    127.0.0.1 is host ip,80 host port, 8080 container port

    sudo  Docker run-p 127.0.0.1::8080 <image> <cmd>
    sudo docker run-p 80:8080 <image> <cmd>
    sudo Docker run-p 8080 <image> <cmd>

binding UDP ports:
    sudo docker run-p 127.0.0.1:53:5353/udp <image> < Cmd>

DOCKERFILE: (to be added)

--privileged    

Container Data management:
1. Data volumes
2. Data Volume container

    sudo docker run--rm--name test-v/source/:/test:ro-t-I ubuntu:14.04/bin/bash  
        mount the host/source directory under the/test of the container, read-only mode 
  --RM option: Indicates if test Container has, delete test re-create

        Note:  /source/cannot be placed in the/root directory of the host, it is recommended to place it in the/home/directory.

Link container:
Using –link
Sudodockerrun−d–namedbtraining/postgres sudo docker run-d–name db training/postgres sudo docker run-d-p–name Web–lin K db:db Training/webapp python app.py
The –link:alias option specifies the container to which the link is linked.

Purpose: To make a link between a Web server and a database server without exposing any ports to external containers, such as:

Container communication between different hosts:

Upload image to hub.docker.com:

    1. View the image to be uploaded: (the CentOS image you downloaded, created a container called Centos_test, created a file called Text.txt under Root)
    (when submitting the image, the format is: Docker commit-m "Touch a TXT on it "-a" xz295139210 (author) "798adb1953e1 docker.io/xz295139210/centos:v1) 
        The xz295139210 here is your own hub.docker.com account 798adb1953e1--
        This is the centos_test ID of the container container that Docker ps-a found

        [ Root@localhost ~]# Docker images
        REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
        Xz295139210/python           v1                  6cd5799caed0        8 seconds ago       687.3 MB

    2. Docker Login--  -Verify the account number and password

    3. Upload: Docker push docker.io/xz295139210/centos:v1   
        xz295139210/centos:v1---through Docker images.

Download the image from your hub.docker.com:
1. Docker Login
2. Docker Pull Xz295139210/python:v2

Search Image:
[Root@localhost ~]# Docker Search python
INDEX NAME DESCRIPTION STARS Official automated
Docker.io Docker.io/python Python is a interpreted, interactive, obj ... 1621 [OK]
Docker.io Docker.io/kaggle/python Docker image for Python scripts run on Kaggle [OK]

    Naming format: Docker.io/kaggle/python    --Kaggle is a user of the Docker image source

Perform actions on the container on the host:
Docker exec can be used to run a process in a container
Docker exec e307f916494c Touch/root/hehe.txt

To label the image:
Docker tag D1e32b95d8e8 192.168.2.67:5000/test
192.168.2.67:5000–> equivalent to the Docker.io of the official warehouse/the address to be uploaded
Test–> is your mirror name.

    Tag is different from     commit:
        tag is mirrored in the source tag
        commit is to submit the container as an image

To create a private warehouse upload image:
Error 1:
[Root@localhost ~]# Docker push 192.168.2.67:5000/test
The push refers to a repository [192.168.2.67:5000/test]
Get Https://192.168.2.67:5000/v1/_ping:http:server gave HTTP response to HTTPS client

Resolution 1:
1.cat  /etc/docker/daemon.json
    {
        "Live-restore": True,
        "insecure-registries": [" 192.168.2.67:5000 "]
    }

2. Restart Docker

Container access control:
1. The container wants to access the external network
1.1 Sysctl Net.ipv4.ip_forward
Net.ipv4.ip_forward = 1
1.2 You can also set the –ip-forward=true when you start Docker, and Docker will automatically set the system Ip_forward parameter to 1

sudo docker # docker command Help

Commands:
Attach attach to a running container # current Shell under Attach connection specify run mirror
Build build a image from a Dockerfile # Dockerfile custom image
Commit Create a new image from a container ' s changes # commit the current container as a fresh mirror
CP Copy files/folders from the containers filesystem to the host path
# Copy the specified file or directory from the container to the host
Create created a new container # Creates a fresh container, same as run, but does not start the container
Diff Inspect Changes on a container ' s filesystem # view Docker container changes
Events get real time events from the server # Get container Live event from Docker service
exec run a command in an existing container # running commands on an existing container
Export Stream the contents of a container as a tar archive
# Export container's content stream as a tar archive [corresponding to import]
History show the historical of an image # show a mirror to form an image
Images list Images # list system current mirror
Import Create A new filesystem image from the contents of a tarball
# Create a new file system image from the contents of the TAR package [corresponding to export]
Info Display system-wide Information # Display system-related information
Inspect Return low-level information on a container # view container details
Kill Kill a Running container # KILL specifies the Docker container
Load load an image from a tar archive # loads a mirror from a tar package [corresponding to save]
Login Register or Login to the Docker registry server
# Register or log in to a Docker source server
Docker login–username=–email=

Logout Log out from a Docker registry server # Exit logs Fetch from the current Docker registry the logs of a container # Output Current container log information port Lookup the public-facing port which is nat-ed to Private_port # view map port corresponding capacitance                               Internal source port Pause Pause all processes within a container # pause container PS List containers
# List of container lists pull pulls an image or a repository from the Docker Registry server # Extract the specified image or library image from the Docker Mirror source server  Push push a image or a repository to the Docker registry server # pushes the specified image or library image to the Docker source server restart restart       A running container # Restart the container that is running RM remove one or more containers # Remove a single or multiple container RMI Remove one or more images # removes a mirror or mirrors [no container uses the image for deletion, otherwise the relevant container needs to be removed to continue or-F forcibly removed] Run run a command in a NE 
W Container # Create a new container and run a command save save a image to a tar archive # save a mirror as a tar package [corresponding to load] Search Search for a Image on the Docker hub # search for mirrors in Docker hub start start a stopped containers # start container stop Stop a running containers # Stop container tag a image into a repository # give the source a mirror hit                    Label top Lookup The running processes of a container # view process information running in the container unpause unpause a paused container  # Cancel suspend container version show the Docker version information # View Docker build number wait Block until a container
 Stops, then print its exit code # intercepts the exit status value when the container is stopped

Run ' Docker command–help ' For more information on a COMMAND.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.