查看所有启动过的容器docker ps -a
停止正在运行的容器
wangtao at MacBook-Pro in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
612594e2ea1d ubuntu "/bin/bash -c 'while…" 23 seconds ago Up 2 seconds dc3
(base)
wangtao at MacBook-Pro in ~
$ docker stop 61259
61259
(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
wangtao at MacBook-Pro in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b5c2daee29b 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 web
80/tcp -> 0.0.0.0:32768
(base)
wangtao at MacBook-Pro in ~
$ docker top web
PID USER TIME COMMAND
3250 root 0:00 /bin/bash
4557 root 0:00 nginx: master process nginx
4558 xfs 0:00 nginx: worker process
4559 xfs 0:00 nginx: worker process
4560 xfs 0:00 nginx: worker process
4561 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
可以通过将配置好的容器保存为镜像,这样需要的时候,直接运行这个镜像就可以获取同样的服务,而不需再次进行配置。