# docker 运行 并进入容器目录(解决docker容器可能运行直接退出的情况,原因为docker自身的会话机制)
例:docker run --name python3 -v /data/GOdata/mypythonlibs:/data/GOdata/mypythonlibs -w /data/GOdata/mypythonlibs -it --entrypoint bash python:3.6
释:--name 容器命名 -v 文件挂载 -w 运行目录 -it 进入容器命令界面 --entrypoint bash 进入容器目录
# docker 退出容器且保持容器运行(对应上一种情况,或者用户进入容器时退出)
命令:Ctrl+P+Q
#查看某个container的运行日志
docker logs [container]
docker logs -f [container] 类似tail
#DOCKER 给运行中的容器添加映射端口
方法1
获得容器IP
docker inspect $container_name | grep IPAddress 将container_name 换成实际环境中的容器名
iptable转发端口(将容器的8000端口映射到Docker主机的8001端口)
iptables -t nat -A DOCKER -p tcp --dport $host_port -j DNAT --to-destination $docker_ip:$docker_port
方法2
提交一个运行中的容器为镜像
docker commit containerid foo/live
运行镜像并添加端口
docker run -d -p 8000:80 foo/live /bin/bash
#给一个正在运行的Docker容器动态添加Volume
1.https://www.open-open.com/lib/view/open1421996521062.html
2.docker commit 命令可以让容器生成镜像。然后直接用这个镜像去生成新的容器的同时,再用-v选项挂载目录。
#查看所有镜像
docker images
#查看运行容器
docker ps
#查看容器运行历史记录
docker container ls -a
#查找镜像
docker search
#拉取镜像
docker pull
#删除容器
docker rm / docker rm -f
#删除镜像
docker rmi
#进入docker nginx 容器
docker exec -it nginx bash
#docker重启nginx
docker restart nginx
#杀死容器
docker kill nginx #查看容器时间
docker exec $container_name/container_id date