说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习
docker pull centos
新建容器并启动
docker run [可选参数] image
#参数说明
--name="Name" 容器名字 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
使用方式:-p ip:主机端口:容器端口
-p 主机端口:容器端口 (常用)
-p 容器端口
容器端口
-P 随机指定端口
#测试 启动并进入容器
[root@localhost ~]# docker run -it centos /bin/bash
[root@48f4043ede8a /]#
[root@48f4043ede8a /]# ls #查看容器内的centos,基础版本,很多命令不完善
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@48f4043ede8a /]# exit #退出容器
exit
列出所有的运行的容器
#docker ps 命令 -a #列出当前正在运行的容器+带出历史运行过的容器 -n+? #显示最近创建的容器 -q #只显示容器的编号
删除容器
exit #直接退出并停止 ctrl+P+Q #退出不停止
删除容器
docker rm 容器id #删除指定的容器,不能删除正在运行的容器,如果要强制删除 -f docker rm -f 容器id #强制删除容器 docker rm -f $(docker ps -aq) #删除所有容器 docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器的操作
docker star 容器id #启动容器 docker restart 容器id #重启容器 docker stop 容器id #停止当前正在运行的容器 docker kill 容器id #强制停止当前容器
查看日志
docker logs -tf 容器id #查看日志 docker logs -tf --tail 10 容器id #看10行日志
后台启动容器
docker run -d 镜像名
查看容器中进程信息
docker top 容器id [root@localhost ~]# docker top 6d461aee4b0d UID PID PPID C STIME root 2112 2093 0 09:14 #解释: UID :用户ID PID :进程ID PPID :父进程ID
查看镜像
#命令
docker inspect 容器id
测试:
[root@localhost ~]# docker inspect 6d461aee4b0d
[
{
"Id": "6d461aee4b0d16156043499e000b7d2b7a1fa75812c70959acfa671b9fbd0486",
"Created": "2022-05-10T01:14:22.886097446Z",
"Path": "python3",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 2112,
"ExitCode": 0,
"Error": "",
"StartedAt": "2022-05-10T01:14:23.144253658Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
进入当前正在运行的容器
#我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置 两种方式: 1.#命令 docker exec -it 容器id #测试 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6d461aee4b0d python:3.5 "python3" 11 minutes ago Up 11 minutes reverent_vaughan [root@localhost ~]# docker exec -it 6d461aee4b0d /bin/bash root@6d461aee4b0d:/# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 01:14 pts/0 00:00:00 python3 root 7 0 0 01:26 pts/1 00:00:00 /bin/bash root 13 7 0 01:27 pts/1 00:00:00 ps -ef root@6d461aee4b0d:/# 2.#命令 docker attach 容器id 区别 exec :进入容器后开启一个新的终端,可以在里面操作 attach :进入容器正在执行的终端,不会启动新的进程!
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的地的主机路径



