说明:我们有了镜像才可以创建容器,Linux,下载centos镜像来学习
1. 镜像下载 #docker中下载centos docker pull centos docker run 镜像id #新建容器并启动 docker ps 列出所有运行的容器 docker container list docker rm 容器id #删除指定容器 docker start 容器id #启动容器 docker restart 容器id #重启容器 docker stop 容器id #停止当前正在运行的容器 docker kill 容器id #强制停止当前容器 [root@iz2zeak7sgj6i7hrb2g862z ~]# docker container list #h和docker ps相同 2. 新建容器并启动 docker run [可选参数] image | docker container run [可选参数] image #参书说明 --name="Name" #容器名字 tomcat01 tomcat02 用来区分容器 -d #后台方式运行 -it #使用交互方式运行,进入容器查看内容 -p #指定容器的端口 -p 8080(宿主机):8080(容器) -p ip:主机端口:容器端口 -p 主机端口:容器端口(常用) -p 容器端口 容器端口 -P(大写) 随机指定端口 # 测试、启动并进入容器 [root@iz2zeak7sgj6i7hrb2g [root@iz2zeak7sgj6i7hrb2g862z ~]# docker run -it centos /bin/bash [root@241b5abce65e /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@241b5abce65e /]# exit #从容器退回主机 exit 3. 列出所有运行的容器 docker ps 命令 #列出当前正在运行的容器 -a, --all #列出当前正在运行的容器 + 带出历史运行过的容器 -n=?, --last int #列出最近创建的?个容器 ?为1则只列出最近创建的一个容器,为2则列出2个 -q, --quiet #只列出容器的编号 4. 退出容器 exit #容器直接退出 ctrl +P +Q #容器不停止退出 ---注意:这个很有用的操作 5. 删除容器 docker rm 容器id #删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -rf docker rm -f $(docker ps -aq) #删除所有的容器 docker ps -a -q|xargs docker rm #删除所有的容器 6. 启动和停止容器的操作 docker start 容器id #启动容器 docker restart 容器id #重启容器 docker stop 容器id #停止当前正在运行的容器 docker kill 容器id #强制停止当前容器 2.4 常用其他命令 1. 后台启动命令 # 命令 docker run -d 镜像名 [root@iz2zeak7sgj6i7hrb2g862z ~]# docker run -d centos a8f922c255859622ac45ce3a535b7a0e8253329be4756ed6e32265d2dd2fac6c [root@iz2zeak7sgj6i7hrb2g862z ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # 问题docker ps. 发现centos 停止了 # 常见的坑,docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止 # nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了 2. 查看日志 docker logs --help Options: --details Show extra details provided to logs * -f, --follow Follow log output --since string Show logs since timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) * --tail string Number of lines to show from the end of the logs (default "all") * -t, --timestamps Show timestamps --until string Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) ➜ ~ docker run -d centos /bin/sh -c "while true;do echo 6666;sleep 1;done" #模拟日志 #显示日志 -tf #显示日志信息(一直更新) --tail number #需要显示日志条数 docker logs -t --tail n 容器id #查看n行日志 docker logs -ft 容器id #跟着日志 3. 查看容器中进程信息ps # 命令 docker top 容器idDocker学习笔记 (3)
3. docker pull 下载镜像
# 下载镜像 docker pull 镜像名[:tag]
[root@iz2zeak7sgj6i7hrb2g862z ~]# docker pull tomcat:8
8: Pulling from library/tomcat #如果不写tag,默认就是latest
90fe46dd8199: Already exists #分层下载: docker image 的核心 联合文件系统
35a4f1977689: Already exists
bbc37f14aded: Already exists
74e27dc593d4: Already exists
93a01fbfad7f: Already exists
1478df405869: Pull complete
64f0dd11682b: Pull complete
68ff4e050d11: Pull complete
f576086003cf: Pull complete
3b72593ce10e: Pull complete
Digest: sha256:0c6234e7ec9d10ab32c06423ab829b32e3183ba5bf2620ee66de866df # 签名防伪
Status: Downloaded newer image for tomcat:8
docker.io/library/tomcat:8 #真实地址
#等价于
docker pull tomcat:8
docker pull docker.io/library/tomcat:8
4. docker rmi 删除镜像
docker rmi -f 镜像id #删除指定id的镜像
[root@iz2zeak7sgj6i7hrb2g862z ~]# docker rmi -f f19c56ce92a8
docker rmi -f $(docker images -aq) #删除全部的镜像
[root@iz2zeak7sgj6i7hrb2g862z ~]# docker stop $(docker ps -a -q)
2.3 容器命令
内容版权声明:除非注明,否则皆为本站原创文章。