docker常用操作命令

Dockerfile镜像定制

vim Dockerfile 创建定制文件,写入具体配置内容

# 拉取基础镜像
FROM nginx
# 复制文件,<源路径1>...  <目标路径>
COPY [--chown=<user>:<group>] 
# <命令行命令> 等同于,在终端操作的 shell 命令。
RUN <命令行命令>
# 设置环境变量
ENV <key1>=<value1> <key2>=<value2>...
# 指定工作目录。
WORKDIR <工作目录路径>
...

docker build -t nginx:v1 . 执行定制文件,拉取镜像并执行命令

镜像

查看所有镜像
docker images
拉取镜像
docker pull nginx
删除镜像
docker rmi nginx
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker login -u 用户名 -p 密码 [server]
登出仓库
docker logout
标记本地镜像,将其归入某一仓库
docker tag nginx server/nginx:v1.0
上传镜像到仓库
docker push server/nginx:v1.0

容器

查看启动的容器
docker ps
-a 查看所有状态容器,包括停止运行的

停止运行的容器
docker stop nginx

删除已存在容器
docker rm nginx

创建一个名为nginx的容器并启动
docker run --name nginx -p 8080:80 -d nginx
如果暂时没有要运行的程序,会启动会自动退出,无法进去,可以开启交互进程
docker run --name nginx -dit nginx
启动过程中需要挂载数据目录的话
docker run --name nginx -v /var/data1:/app/data2 -dit nginx

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb": 为容器指定一个名称;
  • --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h "mars": 指定容器的hostname;
  • -e username="ritchie": 设置环境变量;
  • --env-file=[]: 从指定文件读入环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;
  • --volume , -v: 绑定一个卷,格式为:主机(宿主)目录:容器目录

如果已创建过,启动已存在的 nginx 容器
docker start nginx

进入已启动的容器命令行,退出时执行exit即可
docker exec -it nginx bash

拷贝文件到容器中,需指定容器ID,输入前4位即可
docker cp dist.zip 1973:/website

将做好的容器保存为镜像,以备下次在用
docker commit -a "jadefan" -m "test" a404c6c174a2 myimages:v1
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容