Run

1. Running a docker in the background

 
docker run -d centos /bin/sh -c "while true;do echo is running; sleep 1;done"
 # -d Run the container in the background
 # /bin/sh Specifies the bash interpreter using centos
 # -c Run a shell command
 # "while true;do echo is running; sleep 1;done" is running in the linux background, running once per second
 
 docker ps # check container process 
 docker logs -f container id/name # log information for uninterrupted print container 
 docker stop centos # stop container

2. Start a bash terminal and allow users to interact

 docker run --name mydocker -it centos /bin/bash
 # --name defines a name for the container
 # -i keep the standard input of the container open
 # -t Let Docker assign a pseudo terminal and bind it to the standard input of the container
 # /bin/bash Specify the docker container to interact with the shell interpreter

When using docker run to create a container, the steps that Docker runs in the background are as follows:

1. Check if the specified image exists locally. If it does not exist, download it from the public repository.

2. Create and start a container with an image

3. Allocate a file system and hang on a read-write layer outside the read-only mirror layer

4. Bridge a virtual interface to the container from the bridge interface configured by the host.

5. Configure an ip address from the address pool to the container

6. Execute the user-specified application

7. The container is terminated after execution

3.Restart a stopped container

docker ps -a | grep mydocker   # get ID 795190cec3a0
docker start 795
docker exec -it 795 bash

4.commit custom image

# 1.docker run -it centos
# 2.install vim
    yum install -y vim
# 3.exit container
    exit
# 4.show container 
    docker container ls -a
# 5.commit container
    docker commit 795190cec3a0 evans/centos-vim
# 6.show images
    docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
chaoyu/centos-vim   latest              fd2685ae25fe        5 minutes ago       348MB

5.External access container

docker run -d -P training/webapp python app.py
  # -P The parameters will randomly map the port to the open network port of the container.

# Check the mapped port
docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED            STATUS              PORTS                     NAMES
cfd632821d7a        training/webapp     "python app.py"     21 seconds ago      Up 20 seconds       0.0.0.0:32768->5000/tcp   brave_fermi
#host ip:32768 Map container's 5000 port

# show logs
docker logs -f cfd  # #不间断显示log

# You can also specify a mapped port with the -p parameter.
docker run -d -p 9000:5000 training/webapp python app.py

Last updated