我们有了镜像才可以创建容器,linux,下载一个centos 镜像来测试学习。
使用命令下载一个centos镜像
docker pull centos
新建容器并启动
docker run [可选参数] image
==========================================================
# 参数说明
--name="name" 容器名字:用来区分容器
-d 后台方式运行:相当于nohup
-it 使用交互式运行:进入容器查看内容
-p 指定容器的端口(四种方式)小写字母p
-p ip:主机端口:容器端口
-p 主机端口:容器端口
-p 容器端口
容器端口
-P 随机指定端口(大写字母P)
# 测试:启动并进入容器
[root@SUIAB suiab]# docker run -it centos /bin/bash
[root@9613b9dd2db1 /]# ls # 查看容器内的centos
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
# 从容器中退回到主机
[root@9613b9dd2db1 /]# exit
exit
[root@SUIAB suiab]# ls
a add.c editline hm.c homew hw.sh print.c test.sh text.txt 未命名文件夹
add b editline.c \home\test.txt homew.c print shell.sh test.txt tool 桌面
列出所有运行的容器
docker ps # 列出当前正在运行的容器
# 命令参数可选项
-a # 列出当前正在运行的容器+历史运行过的容器
-n=? # 显示最近创建的容器(可以指定显示几条,比如-n=1)
-q # 只显示容器的编号
[root@SUIAB suiab]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@SUIAB suiab]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9613b9dd2db1 centos "/bin/bash" 22 minutes ago Exited (0) 21 minutes ago determined_kilby
e200932be51c hello-world "/hello" 10 hours ago Exited (0) 10 hours ago agitated_ride
[root@SUIAB suiab]# docker ps -a -n=1
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9613b9dd2db1 centos "/bin/bash" 25 minutes ago Exited (0) 23 minutes ago determined_kilby
退出容器
exit # 容器直接停止,并退出
ctrl+P+Q # 容器不停止,退出
[root@SUIAB suiab]# docker run -it centos /bin/bash
[root@a76c8c84c14c /]# [root@SUIAB suiab]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a76c8c84c14c centos "/bin/bash" 14 seconds ago Up 13 seconds condescending_sutherland
6b5eb444b6bb centos "/bin/bash" About a minute ago Up About a minute reverent_carver
[root@SUIAB suiab]#
删除容器
docker rm 容器id # 删除容器(不能删除正在运行的容器)如果要强制删除:docker rm -f 容器id
docker rm -f $(docker ps -aq) # 删除全部容器
docker ps -a -q|xargs docker rm # 删除所有容器
启动和停止容器的操作
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前容器