容器命令
说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习。
docker pull centos
新建容器并启动
# docker run [可选参数] image
## 参数说明
--name="Name" # 容器名字 tomcat01 tomcat02,用来区分容器
-d # 后台方式运行
-i -t -it # 使用交互方式运行,进入容器查看内容
交互运行需要一个控制台,linux下一般都在 /bin/bash【默认】
-p # [小p]指定容器的端口 例:-p 8080:8080
-p的四种使用方式:
-p 主机端口:容器端口 # 常用的
-p ip:主机端口:容器端口
-p 容器端口 # 不往外面走了
容器端口
-P # [大p]随机指定端口
## 测试,启动并进入容器
### 进入后的是对应的镜像id,不再是主机id了
[root@iZ2ze3omirvragaujkhihjZ /]# docker run -it centos /bin/bash
[root@38caece86ad4 /]# ls ### 查看容器内的centos[基础版本,很多命令都是不全面的]
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
列出所有运行的容器
# docker ps 命令
## 参数说明
默认 # 列出当前正在运行的容器
-a # 列出当前正在运行的容器+带出历史运行过的容器 【常用】
-n=? # 显示最近创建的容器【?决定显示几个】
-q # 只显示容器的编号
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps ### 列出当前正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps -a ### 列出当前正在运行的容器+带出历史运行过的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38caece86ad4 centos "/bin/bash" 5 minutes ago Exited (0) About a minute ago eloquent_gagarin
b51db33bbf5c feb5d9fea6a5 "/hello" 6 days ago Exited (0) 6 days ago inspiring_herschel
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps -a -n=1 ### 显示最近创建的1个容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38caece86ad4 centos "/bin/bash" 11 minutes ago Exited (0) 7 minutes ago eloquent_gagarin
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps -aq ### (列出当前正在运行的容器+带出历史运行过的容器)切只显示容器的编号
38caece86ad4
b51db33bbf5c
退出容器
## 从容器中退出主机
[root@38caece86ad4 /]# exit ### 容器直接停止并退出
exit
[root@iZ2ze3omirvragaujkhihjZ /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
## 容器只退出,但没有停止
ctrl + p + q
删除容器
# 删除指定的容器,不能删除正在运行的容器
docker rm 容器id
# 强制删除指定的容器
docker rm -f 容器id
# 删除所有的容器
docker rm -f $(docker ps -aq)
# linux的—>删除所有的容器
docker ps -a -q|xargs docker rm
启动和停止容器的操作
# 启动一个已停止的容器
docker start <容器ID>
# 停止当前正在运行的容器
docker stop <容器ID>
# 重启停止的容器
docker restart <容器ID>
# 杀掉一个容器【暴力:docker stop报错的情况下】
docker kill <容器ID>
# 演示:
[root@iZ2ze3omirvragaujkhihjZ /]# docker run -it centos /bin/bash
[root@f1fc84f0af0d /]# exit
exit
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1fc84f0af0d centos "/bin/bash" 19 seconds ago Exited (0) 15 seconds ago fervent_hugle
[root@iZ2ze3omirvragaujkhihjZ /]# docker start f1fc84f0af0d
f1fc84f0af0d
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1fc84f0af0d centos "/bin/bash" About a minute ago Up 17 seconds fervent_hugle
[root@iZ2ze3omirvragaujkhihjZ /]# docker stop f1fc84f0af0d
f1fc84f0af0d
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ2ze3omirvragaujkhihjZ /]# docker restart f1fc84f0af0d
f1fc84f0af0d
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1fc84f0af0d centos "/bin/bash" 2 minutes ago Up 7 seconds fervent_hugle
[root@iZ2ze3omirvragaujkhihjZ /]# docker kill f1fc84f0af0d
f1fc84f0af0d
[root@iZ2ze3omirvragaujkhihjZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES