1. install centos mini
2. virtualbox 虛機(jī)網(wǎng)橋配置:
http://blog.csdn.net/landebug/article/details/71412649
https://www.centos.bz/2017/08/virtualbox-centos7-nat-bridge/
查看系統(tǒng)版本信息:
hotsnamectl status
cat /etc/system-release
cat /etc/os-release
3. 更改主機(jī)名:
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: ?運(yùn)行ubuntu鏡像里的命令bash
[root@centos-mini-1 ~]# docker run -it ubuntu bash
5. 個(gè)性化配置docker
https://docs.docker.com/engine/admin/#view-stack-traces
6. 已經(jīng)發(fā)布的可用image倉庫
使用方法:
// (1) yum install git
(2) 比如我要用mariadb, 按repository內(nèi)details來創(chuàng)建本地 image
[root@centos-mini-1 jox]#?docker search mariadb
在docker的鏡像索引網(wǎng)站上面峦剔,鏡像都是按照用戶名/鏡像名的方式來存儲(chǔ)的档礁。但經(jīng)過官方的驗(yàn)證,值得信任的吝沫,直接用鏡像名存儲(chǔ)呻澜。
[root@centos-mini-1 jox]#?docker pull mariadb
(3) 由鏡像創(chuàng)建并啟動(dòng) 一個(gè)daemon態(tài)的 docker
啟動(dòng)docker,即讓docker以所分配資源在image上運(yùn)行某些命令
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. 進(jìn)入docker的3種方法
A. ?docker attach ?---- 相當(dāng)于共享console
[root@centos-mini-1 containers]# docker attach ee6c653827a7 ?
B. ssh ? ?---- 不建議
C.?nsenter ?---- nsenter能訪問另一進(jìn)程的命名空間
????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.?獲取該容器的第一個(gè)進(jìn)程的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. 進(jìn)入docker:
????????nsenter?--target?469 --mount?--uts?--ipc?--net?--pid??