docker操作总结

本文详细介绍了Docker的安装过程,如何操作Docker(启动、关闭、管理镜像和容器),Dockerfile的编写以及如何向Dockerhub推送镜像。此外,还涵盖了自动化启动和关闭容器的shell脚本编写方法。
摘要由CSDN通过智能技术生成

docker安装教程

https://blog.csdn.net/m82_a1/article/details/98870376

打开、关闭docker

打开docker

sudo systemctl start docker

重启docker

sudo systemctl restart docker

关闭docker

sudo systemctl stop docker

不每次都输入sudo

sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker

查看信息

查看docker是否运行

sudo systemctl status docker

查看版本

sudo docker version

查看所有镜像

sudo docker images

启动docker后,查看正在运行的容器

sudo docker ps

启动docker后,查看所有容器

sudo docker ps -a

下载、删除、保存、加载镜像

下载镜像

sudo docker pull xx/yy:zz
# xx是作者名
# yy是仓库名
# zz是版本号
sudo docker pull qizeng/cmake_practice
# zz如果不说明,则是latest版本

删除镜像

sudo docker rmi ImageID

保存镜像

sudo docker save -o xx.tar.gz ImageName:version

加载镜像

sudo docker load -i xx.tar.gz

新建、打开、关闭、进入、退出容器

新建容器

sudo docker run -it ImageName:version
sudo docker run -it swidzinski/cmake:examples 
# swidzinski/cmake是image名称,examples是版本

删除容器

sudo docker rm CotainerID

打开容器

sudo docker start ContainerID
sudo docker exec -it ContainerID /bin/bash %这个命令可以放到shell脚本里

关闭容器

sudo docker stop ContainerID

进入容器

sudo docker attach ContainerID

退出容器

exit

把容器保存为镜像

sudo docker ContainerID ImageNmae:version

往dockerhub上传自己的镜像

https://blog.csdn.net/qq_36814762/article/details/121572953

写shell脚本自动启动容器和关闭

启动docker和container

sudo systemctl start docker
sudo docker start ContainerName
sudo docker exec -it ContainerName /bin/bash

关闭container和docker

sudo docker stop ContainerName
sudo systemctl stop docker

从容器中拷贝文档至宿主机

docker cp ContainerName:container_path local_path
docker cp zen_allen:/root/examples/chapter08/06-coverage/build/coverage ./

Dockerfile语法说明

WORKDIR

指定工作路径,那样COPY、RUN、CMD都在该目录下进行。
功能其实类似于cd,让你默认进入该路径。

WORKDIR /path/to/workdir

RUN

在构建镜像(即docker build)时,会执行的操作。语法有两种:
第一种是shell格式的,如下所示:

RUN <command> // shell格式
举例:
RUN pip3 install osqp

第二种是windows格式的:

RUN ["executable", "param1"] // windows格式
举例:
RUN ["aaa.exe"]

CMD

在容器启动(docker run)时,会执行的操作。

CMD ["executable", "param1"] // windows格式
举例:
CMD ["python3.6", "test.py"]

ENTRYPOINT

在启动容器时,启动容器内的程序。
在语法有两种:

ENTRYPOINT ["<executeable>","<param1>","<param2>",...]
ENTRYPOINT command param1 param2
举例:
ENTRYPOINT python ./planner // 用python运行当前目录下的planner文件夹

通常,ENTRYPOINT和CMD可以连在一起使用,此时CMD的含义为给ENTRYPOINT的程序提供参数。

ENTRYPOINT ["<executeable>"]
CMD ["param"]

根据Dockerfile制作镜像

通过以下语句,生成镜像:username/imagename:tag

docker build -f path/to/Dockerfile -t username/imagename:tag
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值