Docker Basic Commands
先大概说一下什么是docker:
docker是虚拟机的替代方案,可以使得应用在不同的环境下都能跑得起来
其内部的方法可以总括的说成:
开发者开发应用,然后将应用和环境都打包为镜像,然后将镜像上传到docker镜像仓库里。使用者通过docker镜像仓库或者其他渠道获得镜像后使用镜像运行命令运行镜像,运行的方式是将镜像放在容器中运行。
docker服务相关
systemctl start docker # 启动Docker服务
systemctl stop docker # 停止Docker服务
systemctl restart docker # 重启Docker服务
systemctl status docker # 查看Docker服务状态
systemctl enable docker # 设置Docker开机启动
systemctl disable docker # 取消Docker开机启动
容器的生命周期
docker run -it [MIRROR NAME] /bin/bash:
使用 MIRROR NAME 镜像启动一个容器,参数为以命令行模式进入该容器(/bin/bash是指在启动容器后在命令行中输入/bin/bash)
docker run -itd --name [CONTAINER NAME] [MIRROR NAME] /bin/bash:
使用 MIRROR NAME 镜像启动一个容器,命名为CONTAINER NAME,参数为后台运行容器(d),加了 -d 参数默认不会进入容器
docker run -p [LOCAL_IP]:[LOCAL_PORT]:[CONTAINER PORT]/tcp [MIRROR NAME] bash:
绑定容器的 [CONTAINER PORT] 端口,并将其映射到本地主机[LOCAL_IP]的 [LOCAL_PORT] 端口上。
docker run --name [CONTAINER PORT] -dit -p [LOCAL_PORT]:[CONTAINER PORT] --cap-add SYS_PTRACE [MIRROR NAME]:[TAG]:
使用之前备份的[MIRROR NAME]:[TAG]创建新的[CONTAINER PORT]容器,将容器的 [CONTAINER PORT] 端口映射到本地主机[LOCAL_PORT]端口上 (--cap-add SYS_PTRACE好像是给权限的一个参数)
docker start [CONTAINER ID]: 启动已被停止的容器
docker stop [CONTAINER ID]: 停止运行中的容器
docker restart [CONTAINER ID]: 重启容器
docker ps -a: 查看所有容器
docker rm -f [CONTAINER ID]: 删除容器
docker container prune: 清理掉所有处于终止状态的容器。
在运行的容器中执行命令
docker exec -it [CONTAINER ID] /bin/bash: 在容器中开启命令行
容器转镜像
docker commit [CONTAINER ID] [MIRROR NAME]:[TAG] # 将 [CONTAINER ID] 容器保存为标签为 [TAG] 的 [MIRROR NAME] 镜像
docker rmi [MIRROR NAME]:[TAG] # 删除标签为 [TAG] 的 [MIRROR NAME] 镜像
镜像和tar互转
把 uoj_back 这个容器导出为 uoj.tar 这个文件:
docker save -o uoj.tar uoj_back
运行下面的命令导入 uoj_back 镜像:
docker load --input uoj.tar
指定容器的架构
这个事情使用builderx可以解决,但是本地没有成功过,暂时不写。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AndrewLee!