Docker命令汇总

最近项目用到docker,将用到的命令和问题汇总
镜像和容器的关系和类和对象的关系类似,镜像是类,容器是类构建的对象。
在Docker中,images为镜像
所以

docker ps -a //列出所有docker容器,包括不同状态的容器(活动与不活动)
docker ps //只列出活动的docker容器
docker images //列出所有镜像
docker stop 容器ID
docker rm 容器ID //删除容器(需要将活动容器stop掉)
docker rmi 镜像ID //删除镜像(需要将基于镜像创建的容器rm掉)

容器可以打包生成镜像

生成镜像的方法:

  1. Dockerfile
FROM 基类镜像
WORKDIR /home //设置工作目录为home
ADD /app /home //将Dockerfile所在文件夹的app目录文件复制到镜像中home,两路径中间有空格
RUN xxx //在构建镜像中运行命令,一般用来安装依赖,软件
	&&xxx 
EXPOSE 80 //或者22,使端口对外部可用
ENV NAME xxx //定义环境变量
CMD["wine","xxx.exe"] //命令可以是bash,python...

最后使用docker build -t app:v1 .构建镜像,注意末尾的点,app:v1为镜像名和版本号

  1. 使用Docker commit命令
    如果已经有调试好的容器,可以用容器生成镜像,方便移植到其他地方使用。
docker commit 容器ID app:v1 //从容器生成app:v1的镜像名称和标签
docker save -o app.tar app:v1 //将app:v1的镜像保存成app.tar文件

使用tar文件:将tar文件复制到其他系统中

docker load -i app.tar //加载镜像并验证

期间涉及到SCP命令拷贝文件

scp 用户名@IP地址:/home/文件名 ./ //从远程拷贝文件到本地
scp 文件名 用户名@IP地址:/home //拷贝本地文件到远程
ssh 用户名@IP地址 //登录远程

如果拷贝tar包出现Permission deny,需要chmod 777 app.tar

镜像构建容器

使用docker run命令从镜像构建容器

docker run -itd --restart=always --network=host --name appName -v /home:/home app:v1

-itd指后台守护进程运行,–restart=always自动重启,–network=host指创建的容器使用宿主机的网络,-v /home:/home指挂载目录,将宿主机的home目录挂载到容器中的home目录,最后app:v1指镜像及版本号。
有时候需要将自启动关掉,可以使用

docker update --restart=no 容器ID 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值