查看所有启动过的容器
    docker ps -a

    停止正在运行的容器

    1. wangtao at MacBook-Pro in ~
    2. $ docker ps
    3. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    4. 612594e2ea1d ubuntu "/bin/bash -c 'while…" 23 seconds ago Up 2 seconds dc3
    5. (base)
    6. wangtao at MacBook-Pro in ~
    7. $ docker stop 61259
    8. 61259
    9. (base)

    查看正在运行的容器
    docker ps -l

    启动一个已经停止的容器
    docker start -i 6b1a

    退出docker交互式命令窗口
    control+p ,control+q

    再次进入退出交互式,还在后台运行的容器
    docker attach 6b1a

    进入docker容器
    https://blog.csdn.net/u010397369/article/details/41045251

    通过run命令启动一个守护式容器,docker run -d--name设置别名
    docker run --name dc1 -d ubuntun /bin/bash -c "while true; do echo hello world;sleep 1; done"

    查看运行中容器的日志,自动更新显示日志
    docker logs -tf --tail 0 dc1
    退出日志
    control+c

    查看运行中容器的进程
    docker top dc1

    在运行的容器中启动新的进程
    docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]

    停止守护式容器,stop会发送停止信号给容器,等待停止;kill会强制停止
    docker stop 容器名
    docker kill 容器名

    容器的端口映射,大写P将映射所有端口
    docker run -P -i ubuntun /bin/bash

    小写p可以单独指定映射端口:
    只指定容器端口:containerPort
    docker run -p 80 -i -t ubuntu /bin/bash

    指定宿主机端口和容器端口,一一对应:hostPort:containerPort
    docker run -p 8080:80 -i -t ubuntu /bin/bash

    指定IP和容器端口,一一对应:ip:containerPort
    docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

    指定IP和宿主机端口和容器端口,一一对应:ip:hostPort:containerPort
    docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

    在容器中创建nginx应用
    docker run -p 80 --name web -i -t ubuntu /bin/bash
    apt-get update
    apt-get install -y nginx
    apt-get install -y vim
    mkdir -p /var/www/html
    cd /var/www/html
    启动nginx
    查看ps -ef
    退出交互命令并后台运行容器control+p,control+q
    image.png

    1. wangtao at MacBook-Pro in ~
    2. $ docker ps
    3. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    4. 2b5c2daee29b ubuntu "/bin/bash" 14 minutes ago Up 13 minutes 0.0.0.0:32768->80/tcp web
    5. (base)
    6. wangtao at MacBook-Pro in ~
    7. $ docker port web
    8. 80/tcp -> 0.0.0.0:32768
    9. (base)
    10. wangtao at MacBook-Pro in ~
    11. $ docker top web
    12. PID USER TIME COMMAND
    13. 3250 root 0:00 /bin/bash
    14. 4557 root 0:00 nginx: master process nginx
    15. 4558 xfs 0:00 nginx: worker process
    16. 4559 xfs 0:00 nginx: worker process
    17. 4560 xfs 0:00 nginx: worker process
    18. 4561 xfs 0:00 nginx: worker process
    19. (base)

    现在浏览器中可以使用宿主机的ip地址访问这个页面
    http://0.0.0.0:32768/
    也可以用容器的ip地址访问,通过docker inspect web,查看配置中容器的ip地址
    如果容器被停止后再次启动,映射的端口和ip都会发生变化。

    构建镜像
    docker commit通过容器构建
    docker build 通过Dockfile

    image.png
    image.png
    image.png
    可以通过将配置好的容器保存为镜像,这样需要的时候,直接运行这个镜像就可以获取同样的服务,而不需再次进行配置。