#只下载不安装
yum install --downloadonly --downloaddir=/opt/soft httpd
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl start docker
#镜像打包
docker save python:3.5 -o /home/python3.5.tar
镜像名
#正在运行的容器打包 导出
docker export 容器ID > /home/python3.5.tar
#导入1
docker load --input aa.tar
cat aa.tar |docker import - python:3.5
导入名字:标签
#导入2
docker import python3.5.tar python3.5_env
导入的名字(自定义命名)
#启动
docker pull python:3.5
docker run -d --name python3.5_env --privileged -it python:3.5 /bin/bash
docker exec -it 容器ID /bin/bash
#上传文件至容器
docker ps -a | grep python3.5_env
docker cp 本地文件 容器ID:/容器内路径
docker cp /Users/xubowen/Desktop/auto-post-advance.py
38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/root/auto-post-advance.py
#外部运行
docker run -v $PWD:/usr/src/python -w /usr/src/python python:3.5 python test.py
# mysql
docker pull mysql:5.7
docker run -p 3306:3306 --name my5.7 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7
docker exec -it my5.7 /bin/bash
# db2
docker pull ibmcom/db2
docker run --name db2-test -p 50000:50000 -e DB2INST1_PASSWORD=12345678 -e LICENSE=accept -d ibmcom/db2:latest bash
#---------------------------------
# 使用普通用户运行Docker
1、使用root用户安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
useradd test
gpasswd -a test docker
---- 安装centos并运行
docker run -dit -p --privileged --name=centos7 daocloud.io/centos:7 /usr/sbin/init
docker run --name mycentos -p 8888:8080 -p 2222:22 -d -it centos:7 /bin/bash
-- 把正在与运行的容器打包为镜像
docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
-- 通过本地文件导入镜像
cat 镜像文件 | docker import - 镜像名:标签
docker run -tid -p 80:80 -p 2222:22 --privilaged --name centos-2 -v /root/centos7:/ mycentos:7 /usr/sbin/init
docker run -name cemtos7 -d -p 22222:22 -v /root/centos7:/ mycentos:7
-- 把正在与运行的容器打包为镜像
docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
-- 把镜像导出为文件
docker save 镜像名:标签 -o 文件名.tar(路径)
-- 导入镜像
docker load --input 文件名.tar
#docker import 文件名.tar 镜像名:标签
-- 运行
docker run --name ww -v /root/centos7:/root/aa -p 13:8080 -p 12:22 -d -it ww:7 /bin/bash
docker run --privileged --name ww -v /root/centos7:/root/aa -p 13:8080 -p 12:22 -d -it ww:7 /usr/sbin/init
--name 定义容器名称
-p 映射容器端口 宿主机端口:容器端口
-P: 随机端口映射
-v 映射容器目录 宿主机目录:容器目录
-d 后台运行
-h 指定容器hostname
--env | -e 设置环境变量 如: pp=`hostname` 在容器中 pp
--env-file=[] 从文件读取环境变量
# ------ 限制磁盘 ------ 默认没有限制,容器所在路径挂载点有多大,磁盘空间就会有多大。
--storage-opt size=20g (需开启xfs的pquota。) quota 相关的配置都是 0 也就是default,(rw,relatime,seclabel,attr2,inode64,noquota)
#===== 限制内存及swap =================
-m或--memory:设置内存的使用限额,例如 100M, 2G。 默认没有限制 为 -1
--memory-swap:设置内存+swap的使用限额 ,默认没有限制 为 -1
--memory="300m" --memory-swap="1g" 的含义为:
容器可以使用 300M 的物理内存,并且可以使用 700M(1G -300M) 的 swap。--memory-swap 居然是容器可以使用的物理内存和可以使用的 swap 之和!
#====== cpu限制 ===================
--cpus=2 限制使用核心数
--cpuset-cpus="1" 指定那个核心上运行
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
--volume , -v: 绑定一个卷
# 查看容器的所有信息
docker inspect 容器名/容器ID
# docker下查看运行中的容器位置
#默认位置
/var/lib/docker/
#----- 修改 images名称
docker tag 要修改镜像ID 新镜像名:新标签
方法一软连接
# 其它命令
docker logs 获取container的日志
docker exec -it 容器名 env 获取容器环境变量, (执行容器内的 env命令)
docker kill 杀掉一个容器
#------------------------------
Docker环境信息 — docker [info|version]
容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]
容器rootfs命令 — docker [commit|cp|diff]
镜像仓库 — docker [login|pull|push|search]
本地镜像管理 — docker [build|images|rmi|tag|save|import|load]
容器资源管理 — docker [volume|network]
系统日志信息 — docker [events|history|logs]
#------------------------------
#修改 docker时指定存储路径(这种方式修改,会影响原来的doker镜像及容器,相当于重新初始化了一个docker服务,修改为原来的路径,容器就回来 )
vim /usr/lib/systemd/system/docker.service
文本内容:ExecStart=/usr/bin/dockerd下面添加如下内容:
--graph=/data/tools/docker
如:
ExecStart=/usr/bin/dockerd
--graph /data/tools/docker
建议cp原来的路径下所有至 新路径下
原来默认路径为:
/var/usr/docker
systemctl daemon-reload
systemctl restart docker
#----------------------
解决 vim 中文乱码
/etc/vimrc 追加如下:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8