Docker 笔记(3)

Docker 笔记(3)

docker 镜像特性

image-20210720144444203

容器实战

# 列出本地所有容器进程
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
385d7fff118c        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       naughty_ptolemy

# 启动容器
docker run是日常用的最频繁用的命令之一,同样也是较为复杂的命令之一
命令格式: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS :选项
-i:表示启动一个可交互的容器, 并持续打开标准输入
-t:表示使用终端关联到容器的标准输入输出上
-d:表示将容器放置后台运行
--rm:退出后即删除容器
--name:表示定义容器唯一名称
IMAGE:表示要运行的镜像
COMMAND:表示启动容器时要运行的命令*
ARG:参数

# 交互式启动容器
[root@localhost ~]# docker run -ti docker.io/7ing/alpine:latest /bin/sh 
/ # cat /etc/issue
Welcome to Alpine Linux 3.14
Kernel \r on an \m (\l)
/ # exit

# 非交互式启动容器,适合一次性的
[root@localhost ~]# docker run --rm docker.io/7ing/alpine:latest /bin/echo hello
hello

# 非交互式后台运行容器
[root@localhost ~]# docker run -d --name myalpine docker.io/7ing/alpine:latest
2a0c82eb2adc86518c8447114eccbe043b63dc3db111bd69f92c180a57ff653c

# 查看宿主机进程
[root@localhost ~]# ps aux|grep sleep|grep -v grep
root       6839  0.0  0.0   1572   252 ?        Ss   15:51   0:00 /bin/sleep 300
root       6898  0.0  0.0 107956   612 ?        S    15:54   0:00 sleep 60

# 进入启动的容器中
[root@localhost ~]# docker run -d --name myalpine1 docker.io/7ing/alpine:latest /bin/sleep 300
c63af0b668cf3344414f6f5c4c2fda39a7e61f8ce026dd34249c6490ca58766d
[root@localhost ~]# docker ps -a
[root@localhost ~]# docker exec -ti c63af0b668cf  /bin/sh
/ # ps
PID   USER     TIME  COMMAND
    1 root      0:00 /bin/sleep 300
    6 root      0:00 /bin/sh
   10 root      0:00 ps

# 暂停、启动、重启容器
[root@localhost ~]# docker start/stop/restart c63af0b668cf

# 删除容器,-f 强制删除(正在运行的容器)
[root@localhost ~]# docker rm 2a0c82eb2adc
2a0c82eb2adc

# 过滤出所有已经退出的容器,然后干掉
for i in `docker ps -a|grep -i exit|awk ' {print $1}'` ;do docker rm -f $i;done

# 提交容器,在容器可写层进行修改可以通过该方法保存镜像
docker run -d --name myalpine 7ing/alpine:latest /bin/sleep 300
docker exec -it myalpine /bin/sh
/ # echo hello > 1.txt
/ # cat 1.txt
/ # exit
docker commit -p myalpine oldboy1103/alpine:v3.10.3 with_ 1. txt

# 导出镜像
docker save 容器ID > 镜像名字

# 导入镜像(没有标签 )
docker load < 镜像名字

# 查看容器日志(干的活)
docker run hello-world 2>&1 >>/dev/null
docker logs 容器ID
posted @ 2021-07-21 16:43  7ing  阅读(87)  评论(0)    收藏  举报