fjzcau
作者fjzcau·2020-07-09 10:46
系统运维工程师·金融

K8S与Docker快速入门实战--容器管理

字数 3466阅读 2679评论 0赞 2

• 重新拉镜像
docker pull docker.io/fjzcau/alpine:3.11.6.20200615
docker tag fjzcau/alpine:3.11.6.20200615 alpine:3.11.6
docker images

• 查看容器
docker container ls
docker container ls -a
docker ps
docker ps -a

• 启动容器(运行镜像)
docker run 是日常用的最频繁的命令之一,也是较为复杂的命令。
[root@docker1 ~]# docker run --help
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
Options:
-i:Keep STDIN open even if not attached 启动一个可交互的容器,并时常打开标准输入。
-t:Allocate a pseudo-TTY 使用终端关联到容器的标准输入输出。
-d:Run container in background and print container ID 容器以后台方式运行。
--rm:Automatically remove the container when it exits 退出后及删除容器
--name:Assign a name to the container 定义容器的唯一名称
IMAGE:要运行的镜像
COMMAND:启动容器时要运行的命令 *

• 运行容器 -交互式
docker run -it --name my_alpine_test alpine:3.11.6 /bin/sh

[root@master01 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7aee1f8f6d9a alpine:3.11.6 "/bin/sh" 17 seconds ago Exited (0) 2 seconds ago my_alpine_test
[root@master01 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

• 启动容器 -非交互
docker run --rm --name my_sleep_20 alpine:3.11.6 /bin/sleep 20
--rm 运行容器后删除

• 后台方式运行容器
docker run -d --name my_sleep _600 alpine:3.11.6 /bin/sleep 600

• 查看宿主机进程
ps aux | grep sleep

• exec 连接到容器
docker exec -it my_sleep /bin/sh

• 删除容器
◇ 删除对象可以是容器id,也可以是容器名称。
◇ docker container rm my_sleep_600
◇ docker container rm 5658d4d4567c
[root@master01 ~]# docker run -d --name my_sleep_600 alpine:3.11.6 /bin/sleep 600
5658d4d4567cc6df336477b802e58c50a88d48e8c3fd377eb426a52e33d54b10
[root@master01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5658d4d4567c alpine:3.11.6 "/bin/sleep 600" 5 seconds ago Up 4 seconds my_sleep_600
[root@master01 ~]# docker container rm 5658d4d4567c
Error response from daemon: You cannot remove a running container 5658d4d4567cc6df336477b802e58c50a88d48e8c3fd377eb426a52e33d54b10. Stop the container before attempting removal or force remove
[root@master01 ~]#
[root@master01 ~]# docker container rm my_sleep_600
Error response from daemon: You cannot remove a running container 5658d4d4567cc6df336477b802e58c50a88d48e8c3fd377eb426a52e33d54b10. Stop the container before attempting removal or force remove
[root@master01 ~]#

• 强制删除容器
正在运行的容器不可以删除,可以使用 -f 强制删除,也可以先停止运行后删除。
docker container rm -f my_sleep_600
[root@docker1 ~]# docker container rm -f my_sleep_600
my_sleep_600

• 停止正在运行的容器
docker container stop my_sleep_600

• 启停容器
docker container start my_sleep_600
docker container stop my_sleep_600

[root@master01 ~]# docker container stop my_sleep_600
my_sleep_600
[root@master01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@master01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e520dce157fc alpine:3.11.6 "/bin/sleep 600" 4 minutes ago Exited (137) About a minute ago my_sleep_600
[root@master01 ~]#
[root@master01 ~]# docker container start my_sleep_600
my_sleep_600
[root@master01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e520dce157fc alpine:3.11.6 "/bin/sleep 600" 4 minutes ago Up 2 seconds my_sleep_600
[root@master01 ~]#

• 批量删除容器

删除exit的容器

for i in docker ps -a|grep -i exit | awk '{print $1}';do echo $i;done
for i in docker ps -a|grep -i exit | awk '{print $1}';do docker rm -f $i;done

删除非Up的容器

docker rm -f docker ps -a |grep -v Up |awk '{print $1}'

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广