1-3 常用命令

最后更新于:2022-04-02 07:36:54

启动容器 ``` # 启动 docker run dinghe/flask-hello # 设定名字启动 # 后台启动 docker run -d dinghe/flask-hello # 映射端口 docker run --name ding-flask -p 9501:9501 dinghe/flask-hello ``` 备注:启动容器可以限制使用资源,如内存,CPU ``` --cpu-share 3 (相对的,不同容器根据该值进行比例分配) --memory-swap byts --memory byts ``` 停止启动容器 ``` docker stop ding-flask docker start ding-flask ``` 查看image ```shell docker image ls ``` 删除iamge ```shell docker rmi xxxxxx(container id) #删除前需停止基于该镜像启动的容器 ``` 查看当前启动的容器 ```shell docker ps -a docker container ls ``` 删除当前启动的容器 ```shell docker rm xxxxxx(container id) # 批量删除 docker rm ${docker ps -qa} docker rm ${docker ps -qa|grep xxx} ``` 基于dockerfile编译一个容器 ```shell docker build -t ding/centos-vim . # . 代表当前目录下的dockerfile ``` 查看当前镜像详细内容 ``` docker history e0985896a946 ``` 批量删除容器 ``` docker rm $(docker ps -aq) ``` 批量删除退出的容器 ``` docker rm $(docker ps -f "status=exited" -qa) ``` 将容器中的修改更新到镜像中(不推荐,不知道做了什么) ``` docker commit crazy_johnson dinghe/centos-vim ``` 推送镜像到docker hub(不推荐) ``` # 先注册登录,注意使用用户名/镜像名称 docker login docker push dinghe/hello-work ``` 使用dockerfile自动进行构建(推荐) ``` # Docker hub -> Create -> create automated build -> Link Github -> 同步dockerfile -> docker hub自动构建 ``` 进入容器内部 ``` # 这里要区别于启动容器直接进入,这个是容器运行了,想随时进入 docker exec -it 43236b2f5b7e /bin/bash ``` 如果容器启动失败,怎么进入 ``` 1. 修改Dockerfile,去掉最后的启动命令 2. docker run -d --name t1 -it image-t1 /bin/bash 3. docker exec -it xxxx进入后模拟启动 ``` 查看容器基本信息 ``` docker insepct 43236b2f5b7e ``` 查看docker运行日志 ``` docker logs 43236b2f5b7e ``` 备份和恢复镜像 ``` docker save -o mysql.tar daocloud.io/mysql docker load -i mysql.tar ``` #### 资源限制 ``` docker run -d --name mysql --memory="500m" --memory-swap="600M" --oom-kill-disabel mysql01 # 限制CPU docker run -d --name mysql --cpus=".5" docker run -d --name mysql --cpus="1.5 ```
';