文章目录
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