查看所有启动过的容器docker ps -a
停止正在运行的容器
wangtao at MacBook-Pro in ~$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES612594e2ea1d ubuntu "/bin/bash -c 'while…" 23 seconds ago Up 2 seconds dc3(base)wangtao at MacBook-Pro in ~$ docker stop 6125961259(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可以单独指定映射端口:
只指定容器端口:containerPortdocker run -p 80 -i -t ubuntu /bin/bash
指定宿主机端口和容器端口,一一对应:hostPort:containerPortdocker run -p 8080:80 -i -t ubuntu /bin/bash
指定IP和容器端口,一一对应:ip:containerPortdocker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
指定IP和宿主机端口和容器端口,一一对应:ip:hostPort:containerPortdocker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
在容器中创建nginx应用docker run -p 80 --name web -i -t ubuntu /bin/bashapt-get updateapt-get install -y nginxapt-get install -y vimmkdir -p /var/www/htmlcd /var/www/html
启动nginx
查看ps -ef
退出交互命令并后台运行容器control+p,control+q
wangtao at MacBook-Pro in ~$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2b5c2daee29b ubuntu "/bin/bash" 14 minutes ago Up 13 minutes 0.0.0.0:32768->80/tcp web(base)wangtao at MacBook-Pro in ~$ docker port web80/tcp -> 0.0.0.0:32768(base)wangtao at MacBook-Pro in ~$ docker top webPID USER TIME COMMAND3250 root 0:00 /bin/bash4557 root 0:00 nginx: master process nginx4558 xfs 0:00 nginx: worker process4559 xfs 0:00 nginx: worker process4560 xfs 0:00 nginx: worker process4561 xfs 0:00 nginx: worker process(base)
现在浏览器中可以使用宿主机的ip地址访问这个页面http://0.0.0.0:32768/
也可以用容器的ip地址访问,通过docker inspect web,查看配置中容器的ip地址
如果容器被停止后再次启动,映射的端口和ip都会发生变化。
构建镜像docker commit通过容器构建docker build 通过Dockfile



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