一 . 启动容器服务
systemctl start docker.service
二.下载CentOS7 镜像
这个镜像有点兼容问题
[root@wxtest1607 ~]# docker pull centos:7.2.1511
[root@wxtest1607 lixr]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7.2.1511 686672a1d0cc 7 weeks ago 194.6 MB
下载来源:https://hub.docker.com/
三。登录docker中的CentOS7
docker run -ti 6866 /bin/bash
#6866 是 IMAGE ID 前四位数字-能区分出是哪个image即可
root@b4ad1d1c87da /]#
#登录成功,接下来就可以为所欲为啦。
四.检查CentOS7系统
root@b4ad1d1c87da /]# uname -a
Linux b4ad1d1c87da 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@b4ad1d1c87da /]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
五.退出后 再进入CentOS7
获取容器的ID等端口映射信息
[root@wxtest1607 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4ad1d1c87da 6866 “/bin/bash” 12 seconds ago Up 9 seconds mad_swanson
drunk_hypatia
[root@wxtest1607 ~]# docker exec -ti b4ad /bin/bash
[root@b4ad1d1c87da /]#
六. docker中使用systemctl
不过这个东西貌似被限制了,即使强行执行,好多功能也用不了。比方说在启动kvm相关的东西,就完全不管用。
docker run -dit --privileged=true --name saltmaster saltstack/centos-7-minimal /usr/sbin/init
docker run -tid --privileged --name docker111 centos/centos7.6:001 /usr/sbin/init
docker -exec -ti contiainer-id /bin/bash
七.提交容器成为新的镜像,例如叫做sshd_centos7.4,输入
docker commit 容器ID sshd_centos7.4
八.启动这个镜像的容器,并映射本地的一个闲置的端口(例如15000)到容器的22端口,并启动容器的sshd(只要端口不冲突可以同时启动多个容器,如下图)
docker run -d -p 15000:22 sshd_centos7.4 /usr/sbin/sshd -D
docker run -ti -p 10022:22 sshd:centos /usr/sbin/sshd -D
1、上传本地文件到服务器
scp -P 10022 /path/filename username@servername:/path/
例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
2、从服务器上下载文件
下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
利用压缩命令直接把系统生成docker可利用的压缩包
tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .
docker 加载生成的压缩包
1).cat system.tar | docker import - centos:7.1
2).docker import system.tar centos2:7.1
docker run -t -i centos:7.1 /bin/bash
打包镜像和容器
1)
docker export -o aim.tar contain_id
docker import aim
2)
docker save -o aim.tar imagename:tag
docker load aim.tar