1.docker在线安装与启动
1.1安装docker
[root@localhost /]#yum install –y epel-release
[root@localhost /]# yum -y install docker-io
1.2启动docker服务
[root@localhost /]# service docker start****
Starting cgconfig service: [ OK ]
Starting docker: [ OK ]
1.3将docker加入开机启动
[root@localhost /]# chkconfig docker on
1.4基本信息查看
docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等
[root@localhost ~]# docker version
Client:
Version: 1.12.5
API version: 1.24
Package version: docker-common-1.12.5-14.el7.centos.x86_64
Go version: go1.7.4
Git commit: 047e51b/1.12.5
Built: Mon Jan 23 15:35:13 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.5
API version: 1.24
Package version: docker-common-1.12.5-14.el7.centos.x86_64
Go version: go1.7.4
Git commit: 047e51b/1.12.5
Built: Mon Jan 23 15:35:13 2017
OS/Arch: linux/amd64
2 镜像的获取
2.1搜索镜像
docker search <image名称>:在docker index中搜索image名称
[图片上传失败...(image-1f0fce-1538011370599)]
2.2下载镜像
docker pull <image>**** &**** :从docker registry server 中下拉image**
[root@localhost /]# docker pull docker.io/tomcat
2.3查看镜像
docker images: 列出images
docker images -a :列出所有的images(包含历史)
docker images --tree :显示镜像的所有层(layer)
docker rmi <image ID>: 删除一个或多个image
[root@physics-xx~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 0335e4e8579b 11 days ago 355.3 MB
docker.io/wnameless/oracle-xe-11g latest 51fad6f11394 2 weeks ago 2.236 GB
docker.io/bitnami/mariadb latest ee3d42ecbcd6 5 weeks ago 575.3 MB
docker.io/mariadb latest 7eca0e0b51c9 5 weeks ago 393.4 MB
docker.io/ifnazar/sybase_15_7 latest 4f7f34cb9a53 11 weeks ago 3.668 GB
docker.io/hjd48/redhat latest d7852422d6c5 2 years ago 414.2 MB
2.4使用镜像创建容器
docker run –d <镜像名称>
[root@physics-85 ~]# docker run –d docker.io/wnameless/oracle-xe-11g 创建oracle11g容器
2.5 查看容器
docker ps :列出当前所有正在运行的container docker ps -l :列出最近一次启动的container docker ps -a :列出所有的container(包含历史,即运行过的container) docker ps -q :列出最近一次运行的container ID
docker stats containt-id 查看容器内存使用情况 containt-id替换为实际id
docker start containt-id 启动容器
[root@physics-85 ~]#docker ps
[图片上传失败...(image-b0a57b-1538011370598)]
2.6 进入容器
docker exec –it <container id> /bin/bash
[root@physics-85 ~]#docker exec –it cca001892783 /bin/bash 进入数据库容器
2.7删除容器
docker rm <container...> :删除一个或多个container docker rm docker ps -a -q
:删除所有的container docker ps -a -q | xargs docker rm :同上, 删除所有的container
2.8再次进入容器
docker start/stop/restart <containerid> :开启/停止/重启container docker run -i -t <imagename> /bin/bash :使用image创建container并进入交互模式, login shell是/bin/bash docker run -i -t -p <host_port:contain_port> :映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。 注:使用start是启动已经创建过得container,使用run则通过image开启一个新的container。
3 [Docker镜像保存为文件及从文件导入镜像]
3.1保存镜像为文件
查看文件镜像: docker images
将镜像文件保存为本地文件 :
docker save -o 要保存的文件名 要保存的镜像
[root@physics-85 ~]# docker save -o oracle11g.tar docker.io/wnameless/oracle-xe-11g
将镜像文件保存到根目录下
3.2将tar包,拷贝到目标机器上
scp sysbase_15_7.tar root@10.21.17.114:/root/bak
3.3从文件载入镜像
将本地文件传到目标机器上,进入相应目录下,执行:
docker load < 文件名
docker load < oracle11g.tar
export 和import
sudo docker export containerid > 备份包名
cat ubuntu.tar | docker import – fsmp_web:latest
4镜像的备份
docker 备份容器:
先停止容器,然后再备份
sudo docker commit 50d9d2f63c75 itms/sybase
50d9d2f63c75 是容器id
5[Docker: 如何修改 Docker 的镜像存储位置]
方案1, 使用参数-g 来修改 Docker 的镜像存储文件夹
修改方法如下: 在 Ubuntu/Debian 系统下: 编辑 /etc/default/docker 文件, 添加-g 参数的设置, 如下:
DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
在 Fedora/Centos 系统下:
编辑 /etc/sysconfig/docker 文件, 添加-g 参数的设置, 如下:
other_args="-g /mnt"
重启 Docker 服务, 问题就解决了.
方案2 使用链接
- 停止 Docker: service docker stop. 2) 做个备份 tar -zcC /var/lib/docker > /mnt/var_lib_docker-backup-$(date + %s).tar.gz 3) 迁移/var/lib/docker目录到met 目录下: mv /var/lib/docker /mnt/docker 4) 建个 symlink: ln -s /mnt/docker /var/lib/docker 5) 确认文件夹类型为symlink 类型 ls /var/lib/docker 6) 启动 docker service.
验证ssh是否正常:
ssh -p 22 <u>root@10.xx.xx.xx</u>
scp 1.txt root@10.xx.xx.xx:/root