随便写的一些docker使用操作命令

#只下载不安装
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

  

posted @ 2020-10-12 15:54  一个苦逼的运维人  阅读(128)  评论(0编辑  收藏  举报