一. docker container
1. 配置国内镜像加速器:
[root@docker ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["https://zgf4gb6j.mirror.aliyuncs.com","http://hub-mirror.c.163.com","https://reg-mirror.qiniu.com"]}
2. 进入容器:
- docker run -it centos7 /bin/bash :使用/bin/bash返回一个命令行界面
- docker attach 容器ID :多个终端都用attach进入时会同步(不方便)
- docker exec -it 容器ID /bin/bash :是单独开出一个shell,退出时容器不会关闭
- 其中bash :是指容器运行bash终端(容器的生命周期就取决于命令执行时间,bash命令结束容器即结束)
3. 安装util-linux使用底层nsenter进入:
- yum -y install util-linux :安装util-linux
- docker inspect -f ‘{{.State.Pid}}’ 容器ID :查看容器第一个进程pid
- nsenter --target 上面查到的Pid --mount --uts --ipc --net --pid 进入到容器
4. 上面的有点麻烦,我们也可以用同样的底层方式更简便进入容器:
- 进入/usr/local/src/目录下 下载 .bashrc_docker 脚本,网址是:https://github.com/dzckzeo/bashrc_docker (脚本中定义了很多方便使用的docker命令)
- 脚本追加到别名:cat .bashrc_docker >> /root/.bashrc
- 执行下载的脚本 sh .bashrc_docker
- 查看生成的新命令会看到很多简便的命令: dockertab
- 例: 查看容器pid : docker-pid 容器ID
进入容器: docker-enter 容器ID
5. 退出容器:
- exit :退出后容器会关闭
- ctrl p q :退出后容器还会依然处于up状态
- 查看当前容器运行状态: docker ps -a
6. 启动和停止和重启容器:
- docker start/stop/restart 容器ID
7. 强制杀死容器;
- docker kill 容器ID
8. 暂停/恢复容器:
- docker pause 容器ID
- docker unpause 容器ID
9. 查看容器详细信息:
- docker inspect 容器ID
- 具体输出容器详细信息中某一段的字符串 : 例: docker inspect -f ‘{{.State.Running}}’ 容器ID
10. 导出容器(类似于快照):
- docker export mariadb > /test/mariadb.tar
11. 导入容器:
- cat mariadb.tar |docker import - mariadb:[TAG]
- 或:docker import mariadb.tar mariadb:test
12. 导入镜像和容器的区别就是,导入容器会丢失一些原数据。