相关信息:
势力代码
https://github.com/jamtur01/dockerbook-code
安装好docker之后.
Docker是否正确安装,列出docker相关配置信息
sudo docker info
sudo 以管理员或者root权限访问
kubernetes 密码 Huawei@123
创建容器
sudo docker run -i -t ubuntu /bin/bash
参数解释:
-i 保证容器中 STDIN(标准输入) 是开启的
-t 为创建的容器分配一个伪tty终端.用来shell交互
ubuntu 创建一个基于ubuntu的镜像
/bin/bash 创建好镜像后,运行bash命令,启动base shell
推荐, 创建一个指定名称的容器
sudo docker run --name dfy_test01 -i -t ubuntu /bin/bash
--name 指定容器名
命名规则: a-zA-z0-9_.-
创建一个基于ubuntu指定版本的镜像
sudo docker run --name dfy_test01 -i -t ubuntu:12.04 /bin/bash
正常启动后显示:root@adb71207f4c2:/#
以上创建的容器属于交互式容器(有shell交互)
下面创建的为守护式容器
长期运行
无交互式会话
适合运行应用程序和服务
创建方式:
sudo docker run --name dfy_test02 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
-d docker会将创建的容器放在后台运行
自动重启守护式容器
sudo docker run --restart=always --name dfy_test02 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
restart=always 自动重启
on-failure 非0时,重启
on-failure:5 非0时,重启,最多5次
查看容器的主机名.ID
hostname
查看容器的hosts
cat /etc/hosts
cat 查看某个文件的内容
??查看容器的网络配置
ip a ?命令错误
查看容器中运行的进程
ps -aux
安装软件
apt-get updata && apt-get install vim
安装vim软件
退出容器
exit
查看系统中所有容器列表
docker ps -a
列出正在运行的容器
docker ps
显示最后3个的容器状态
docker ps -n 3
获取更多的容器信息
sudo docker inspect dfy_test02
选择性查看
查看运行状态
sudo docker inspect --format='{{.State.Running}}' dfy_test02
查看多个容器
sudo docker inspect --format='{{.State.Running}}' dfy_test02 dfy_test01
删除某个容器
sudo docker rm dfy_test02
删除全部容器
sudo docker rm 'docker ps -a -q'
重新启动已经停止的容器
通过容器名方式
sudo docker start dfy_test01
通过容器ID方式
sudo docker start c2399...
运行 docker ps 查看运行中的容器
打开容器的shell(重新附到容器上)
sudo docker attach dfy_test01
通过容器ID方式
sudo docker attach c2399...
查看容器的log日志
docker logs dfy_test02
日志实时跟踪
docker logs -f dfy_test02
获取日志最后10行
docker logs --tail 10 dfy_test02
获取最新日志
docker logs --tail 0 -f dfy_test02
带时间的日志
docker logs -ft dfy_test02
退出日志跟踪
ctrl+c
查看容器内的进程
sudo docker top dfy_test02
容器内运行新的进程
后台任务 无交互需求
前台任务 打开shell,交互式任务
后台任务例子:
sudo docker exec -d dfy_test02 touch /etc/new_config_file
-d 运行一个后台进程
-d之后: 容器名 命令
创建一个空文件,文件名为etc/new_config_file
前台交互进程
sudo docker exec -t -i dfy_test02 /bin/bash
停止守护式容器
sudo docker stop dfy_test02