容器基本操作
- 创建容器(-t:模拟一个终端。-i:可以让用户进行交互。-d:创建好容器后不自动进入容器。–restart=always:可以解决推出容器自动关闭的问题。–name=c1:指定容器名)
docker run -itd --restart=always --name=c1 hub.c.163.com/library/centos
- 创建临时容器(–rm:退出容器后容器会自动删除,注意:不能与–restart=always同时使用)
docker run -it --rm hub.c.163.com/library/centos
docker run -it --rm --name=test1 centos7 sh
docker run -it --rm --name=test1 centos7 sleep 10
- 创建容器的时候使用变量
利用一些镜像创建容器的时候需要传递变量,比如MySQL镜像,wordpress的镜像。可以使用-e指定多个变量。
docker run -it --name=c1 --rm -e aa=123 -e bb=456 hub.c.163.com/library/centos
echo $aa
123
- 把容器端口映射到物理机
外部主机不能和容器进行通信,如果希望外部主机可以访问到容器的内容,就需要使用-p把容器的端口映射到物理机上(-p N:物理机随机生成一个端口映射到容器的端口N上。-p M:N:把容器的端口N映射到物理机指定的端口M上)。
docker run -d --name=web --restart=always -p 80 nginx
docker run -d --name=web1 --restart=always -p 88:80 nginx
docker ps
- 查看容器(无参数:正在运行的容器。-a:所有容器。-q:只显示容器id)
docker ps
docker ps -a -q
docker attach 容器ID/容器名
exit
或者:按ctr+p和ctr+q回到宿主机控制台
docker rm 容器ID/容器名
docker rm -f 容器ID/容器名
容器的生命周期
- 只有容器里的进程正常运行,容器才能正常运行,容器里的进程挂了,则容器也就挂掉了。
管理容器命令
docker exec 容器名 命令
docker cp /path/file 容器:/path2
docker 容器:/path2/file /path/
docker stop 容器名
docker start 容器名
docker restart 容器名
docker top 容器名
- 查看容器里的日志信息(-f:持续显示日志内容,只要容器内容更新,日志中就能立刻显示出来)
docker logs -f 容器名
docker inspect 容器名