docker命令集锦

原创 创建时间:2018-11-30 访问量:105 赞:0 踩:0


# 获取镜像
sudo docker pull <image_name:version>

# 查看镜像
sudo docker images

# 搜索镜像
sudo docker search <image_name>

# 删除镜像
sudo docker rmi <image_tag>
sudo docker rmi <image_id> # 会删除相关的所有标签与镜像
sudo docker rmi -f <image_id> # 强制删除,如果有关联的容器,最好不要这样

# 创建对象
sudo docker commit [options] <container> [repository[:tag]]
# -a, --author=""作者信息
# -m, --message=""提交信息
# -p, --pause=true提我时暂停容器运行

# 基于本地模板导入
sudo cat imagename.tar.gz | docker import - <image_tag>

# 存出镜像
sudo docker save -o <image_tag.tar> <image_tag>

# 载入镜像
sudo docker load --input <image_tag.tar>
sudo docker load < <image_tag.tar>

# 上传镜像
sudo docker push <image_tag> # 将tag改为repository/image_name:version

# 创建并启动容器
sudo docker create -ti ubuntu:latest
sudo docker start -ti ubuntu:latest /bin/bash
sudo docker run -it ubuntu /bin/bash --name web -P
# --name 指定名称
# -P 将容器内端口暴露到宿主机的随机端口上
# -p hostport:containerport 将容器内提定端口暴露到宿主机指定端口上
# -i 让容器的标准输入保持打开
# -t 让Docker分配一个伪终端并绑定到容器的标准输入上

# 查看终止重启容器
sudo docker ps
# -a 查看所有容器
# -a -q 查看所有已终止的容止
sudo docker start <container_id>
sudo docker restart <container_id>
sudo docker stop <container_id> # 终止容器,可以再次启动

# 进入容器
sudo docker exec -it <container_id> /bin/bash

# 删除容器
sudo docker rm [options] <container> [<container>]
# -f, --force=false 强行终止并删除一个运行中的容器
# -l, --link=false 删除容器的连接,但保留容器
# -v, --volumes=false 删除容器挂载的数据卷

# 导入导出容器
sudo docker export <container_id> > xxx.tar # 导出容器
cat xxx.tar | sudo docker import - test/ubuntu:v1.0 # 后面是指定标签

# 创建和使用私有仓库
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
# -d 后台运行
# registry 仓库镜像
# -v 挂载卷
# 先使用sudo docker tag修改标签,再使用sudo docker push上传即可

# 挂载一个主机目录作为数据卷
sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py
# -v host_dir:container_dir
# 还可以挂载文件不推荐

# 以容器作为数据卷
sudo docker run -it -v /dbdata --name dbdata ubuntu # 创建数据卷容器
sudo docker run -it --volumes-from dbdata --name db1 ubuntu
sudo docker run -it --volumes-from dbdata --name db2 ubuntu
sudo docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
sudo docker run --volume-from dbdata -v $(pwd):/backup busybox tar xvf /backup/backup.tar

# 从容器处部访问应用
sudo docker run -d -P training/webapp python app.py
# -P 映射所有端口
# -p 可以映射多个指定端口,主机IP
# -p ip:hostport:container_port

# 容器互联
sudo docker run -d --name db traning/postgres
sudo docker run -d -P --name web --link db:db training/webapp python app.py
# --link name:alias
# 在web容器内容可以通过alias访问db

# dockerfile使用
sudo docker build -t repository/imagetag .

评论
 我想说:
==已经到底了==
关注: 粉丝: 积分:
工联信息网
如有问题请致邮箱:need@glxxw2018.com(仅限本站无法查询到的资料);本站能够查询到的资料请关注“工联信息网”公众号,通过页面提供的资源码查询!
不良信息反馈及侵权投诉建议请致邮箱:accusation@glxxw2018.com