1. install centos mini
2. virtualbox 虚机网桥配置:
http://blog.csdn.net/landebug/article/details/71412649
https://www.centos.bz/2017/08/virtualbox-centos7-nat-bridge/
查看系统版本信息:
hotsnamectl status
cat /etc/system-release
cat /etc/os-release
3. 更改主机名:
hostnamectl set-hostname <hostname>
4. 安装docker
http://www.docker.org.cn/book/install/install-docker-on-rhel-29.html
docker镜像和容器文件 的路径 : /var/lib/docker
try ubuntu container: 运行ubuntu镜像里的命令bash
[root@centos-mini-1 ~]# docker run -it ubuntu bash
5. 个性化配置docker
https://docs.docker.com/engine/admin/#view-stack-traces
6. 已经发布的可用image仓库
使用方法:
// (1) yum install git
(2) 比如我要用mariadb, 按repository内details来创建本地 image
[root@centos-mini-1 jox]# docker search mariadb
在docker的镜像索引网站上面,镜像都是按照用户名/镜像名的方式来存储的。但经过官方的验证,值得信任的,直接用镜像名存储。
[root@centos-mini-1 jox]# docker pull mariadb
(3) 由镜像创建并启动 一个daemon态的 docker
启动docker,即让docker以所分配资源在image上运行某些命令
docker run [--name <container_name>] image [command]/[service_name]
[root@centos-mini-1 jox]# docker run --name mariadb-test-1 -e MYSQL_ROOT_PASSWORD=$Killer64You -itd mariadb:10.3.3
Digest: sha256:5feb530514e4cfd0d3a9a8e4623b198f0d5569d11fb974631c50d94157073ea0
Status: Downloaded newer image for mariadb:10.3.3
--name string Assign a name to the container
mariadb-test-1 -- container name
-e, --env list Set environment variables
-d Run container in background and print container ID
10.3.3 -- mariadb tag(version)
mariadb:10.3.3 -- image
7. 进入docker的3种方法
A. docker attach ---- 相当于共享console
[root@centos-mini-1 containers]# docker attach ee6c653827a7
B. ssh ---- 不建议
C. nsenter ---- nsenter能访问另一进程的命名空间
a. 安装nsenter :
yum install wget gcc
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz && tar -xzvf util-linux-2.24.tar.gz && cd util-linux-2.24 && ./configure --without-ncurses && make nsenter && cp nsenter /usr/local/bin
b. 获取该容器的第一个进程的PID:
[root@centos-mini-1 util-linux-2.24]# docker inspect ee6c653827a7 ---- 能列出docker ee6c653827a7的所有属性
[root@centos-mini-1 util-linux-2.24]# docker inspect ee6c653827a7 -f {{.State.Pid}}
469
c. 进入docker:
nsenter --target 469 --mount --uts --ipc --net --pid