docker容器使用
·
一: 创建容器
- 前提:拉取镜像
- 命令: docker create 参数 镜像名 命令
[root@localhost ~]# docker create -it centos:7 /bin/bash
e27173a8adf1f46f5b0e476b80556a82c6a175498ecc777983facdad2b8ba41e
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e27173a8adf1 centos:7 "/bin/bash" 8 seconds ago Created nice_wiles
[root@localhost ~]#
二: 创建并运行容器
- 命令: docker run 参数 镜像名 命令
[root@localhost ~]# docker run -it --restart=always centos:7 /bin/bash
[root@aa47b6d1f5fe /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@aa47b6d1f5fe /]#
三: 断开与容器连接
exit:退出容器终端,停止当前容器
ctrl + p + q:退出当前窗口,但容器还在后台运行
四: 查看容器
# 1.0 查看正在运行的容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa47b6d1f5fe centos:7 "/bin/bash" 5 minutes ago Up About a minute strange_bassi
[root@localhost ~]#
# 2.0 查看所有容器
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa47b6d1f5fe centos:7 "/bin/bash" 6 minutes ago Up About a minute strange_bassi
e27173a8adf1 centos:7 "/bin/bash" 9 minutes ago Created nice_wiles
[root@localhost ~]#
# 3.0 查看容器详情信息
docker inspect 容器ID
# 4.0 查看容器资源使用
[root@localhost ~]# docker stats 容器ID
五: 启动容器
[root@localhost ~]# docker start 已创建未启动的容器ID
六: 关闭容器
- 关闭容器命令1:docker stop 容器id
- 关闭容器命令2:docker kill 容器id
[root@localhost ~]# docker stop aa47b6d1f5fe
aa47b6d1f5fe
七: 删除容器
- 命令:docker rm 容器id
[root@localhost ~]# docker rm aa47b6d1f5fe e27173a8adf1
aa47b6d1f5fe
e27173a8adf1
[root@localhost ~]#
八: 重启容器
- 前提:先停止容器,然后再重启容器
- 命令:docker restart 容器ID
[root@localhost ~]# docker run -it centos:7 /bin/bash # 运行容器
[root@38656479b78d /]# [root@localhost ~]#
[root@localhost ~]# docker ps # 查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38656479b78d centos:7 "/bin/bash" 22 seconds ago Up 21 seconds pensive_shamir
[root@localhost ~]# docker stop 38656479b78d # 停止容器运行
38656479b78d
[root@localhost ~]# docker ps -a # 查看之前运行过的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38656479b78d centos:7 "/bin/bash" 51 seconds ago Exited (137) 5 seconds ago pensive_shamir
[root@localhost ~]# docker restart 38656479b78d # 重启容器
38656479b78d
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38656479b78d centos:7 "/bin/bash" About a minute ago Up 4 seconds pensive_shamir
[root@localhost ~]#
九: 附着容器
- 作用:docker attach来重新附着到该容器的回话中
- 命令:docker attach 容器id
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38656479b78d centos:7 "/bin/bash" 9 minutes ago Up 8 minutes pensive_shamir
[root@localhost ~]# docker attach 38656479b78d
[root@38656479b78d /]#
十: 后台运行
- 命令:docker run -d 镜像名 命令
[root@localhost ~]# docker run -it -d --name mytest centos:7 /bin/bash
# 查看容器日志
[root@localhost ~]#docker logs mytest
# 附着容器
[root@localhost ~]# docker attach mytest
十一: 容器更名
- 命令:docker rename mytest mytest1
# 查询现有容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
caf06cfbf787 centos:7 "/bin/bash" 2 minutes ago Up 2 minutes mytest
# 更名
[root@localhost ~]# docker rename mytest mytest1
# 查看容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
caf06cfbf787 centos:7 "/bin/bash" 2 minutes ago Up 2 minutes mytest1
[root@localhost ~]#
十二: 端口映射
- 运行容器的时候,加上-p这个参数,就是端口映射
# 运行容器并暴露
[root@localhost ~]# docker run -it --name=test-port --restart=always -p 20:2020 centos:7 /bin/bash
# 查看
docker port test-port
#
docker ps
十三: 容器监控
1. logs:使用logs命令查看守护式容器
2. top:top显示一个运行的容器里面的进程信息
3. event:event实时输出Docker服务器端的事件
4. wait:wait捕捉容器停止时的退出码
5. diff:diff查看容器内发生改变的文件
6. cp:宿主机和容器之间相互Copy文件
面试重点
attach和exec的区别?
docker attach
连接到容器PID=1 的原始主进程终端,共用容器启动时唯一的前台会话。
docker exec
在容器里新建一个独立的子进程终端,和原本的主进程完全隔离。
更多推荐
所有评论(0)