Docker基本命令
1、辅助命令
docker version
docker info
docker --help
2、镜像操作
检索:docker search 关键字
如:docker search mysq 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取:docker pull 镜像名:tag
tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表:docker images
查看所有本地镜像(包含中间镜像层):docker images -a
删除:docker rmi imageId
3、容器操作
运行容器:docker run --name container-name -d image-name/image-id
如:docker run –name myredis –d redis
--name:自定义容器名
image-name/image-id:指定镜像模板
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: (大写的P)随机端口映射;
-p: (小写的p)指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
例:
docker run --name centos07-01 -d 831691599b88:后台启动一个容器(docker ps是退出状态)
docker run --name centos07-01 -it 831691599b88:以为交互的形式启动一个centos容器
后台启动容器,这样的容器后台启动后,会立即自杀因为他觉得他没事可做了.
docker run --name centos07-01 -d 831691599b88 /bin/sh -c "while true;do echo hello
world;sleep 2;done"这样就不会关闭容器了docker ps可以查看到容器运行
所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行。
退出容器:
exit:容器停止并退出
ctrl+P+Q:容器不停止退出
进入正在运行的容器:
docker exec -it container-name/container-id /bin/bash 进入容器
docker exec -it container-name/container-id ls -l /tmp
没有进入容器:在外部执行容器内命令 ls -l /tmp
docker attach container-name/container-id : 进入到容器
启动容器:docker start container-name/container-id
重启容器:docker restart container-name/container-id
停止容器:docker stop container-name/container-id
强制停止:docker kill container-name/container-id
删除容器(删除已经停止的容器):docker rm container-name/container-id
强制删除(停止容器并删除):docker rm -f container-name/container-id
列表:docker ps(查看运行中的容器);
加上-a;可以查看所有容器
容器日志 docker logs container-name/container-id
* -t 日志加入时间戳
* -f 实时日志打印
* --tail 6 显示最后6条
查看linux容器内运行的进程:docker top container-id
查看容器内部细节:docker inspect container-id
从容器内拷贝文件到主机上:docker cp container-id:容器内路径 目的主机路径
端口映射 -p 6666:8080 (-p: 主机端口(映射到)容器内部的端口)
docker run --name tomcat08-02 -d -p 6666:8080 tomcat