我是靠谱客的博主 老实音响,最近开发中收集的这篇文章主要介绍Docker 常用命令及使用 (减轻记忆版),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Docker Common CMD

sudo docker pull <image name>

# docker 镜像
sudo docker images
sudo docker images --tree
sudo docker rmi <image name>
sudo docker rmi $(docker images -f "dangling=true" -q) # 移除所有停止容器

# docker 容器
sudo docker ps -a
sudo docker rm <CONTAINER ID>

# docker run 
docker run -it  # 交互式
	--name <CONTAINER NAME>  # 取名
	-v /Users/workspace:/home/workspace  # 挂载目录
	<image name> 
	bash

Docker Run

# docker run 
docker run -it  # 交互式
	--name <CONTAINER NAME>  # 取名
	-v /Users/workspace:/home/workspace  # 挂载目录
	<image name> 
	bash
	
# docker run with jupyter-notebook
docker run -it -p 8888:8888 tensorflow/tensorflow

# docker run without gui nvida-card
docker run -it 
	--name tensorflow 
	-v /home/workspace/tensorflow:/workspace 
	tensorflow:17.10 
	bash

# docker start
docker start -ai <CONTAINER NAME>

# docker commit
docker commit 
--author "abc <abc@mail.com>" 
--message "<CONTAINER NAME>" 
<CONTAINER ID> <image name:tag>

# multiple terminal in docker
docker exec -it <container> bash

Docker Save & Load

sudo docker save -o <save image to path> <image name>
sudo docker save <image name> > <save image to path>

sudo docker load -i <path to image tar file>
sudo docker load < /home/save.tar

Docker with GUI

XQuartz 可以在MAC OS中虚拟出X11-unix目录, 在MAC OS中显示.
而对于Ubuntu而言, 则可以直接使用X11-unix目录. 如果遇到问题“No protocol specified QXcbConnection: Could not connect to display :0”. 使用命令xhost +允许客户端连接.

# xquartz
open -a XQuartz

# XQuarzt ip setup
ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}') 
xhost + $ip

# docker run with XQuartz
# 以android 包为例
docker run -it 
    --name android 
    -e DISPLAY=$ip:0 
    -v /tmp/.X11-unix:/tmp/.X11-unix 
    android:171014 
    bash

对于需要使用主机某些设备时, 需要给予权限.

# docker --privileged 可以使用所有权限和资源
docker run -it --privileged 
	--name tensorflow 
	-e DISPLAY 
	-v /tmp/.X11-unix:/tmp/.X11-unix 
	-v /home/workspace/tensorflow:/workspace 
	tensorflow:17.10 
	bash

# docker --device 则是指定使用的device, 较为安全.
# docker 使用 host devices, 添加读写 rw 为 3D 应用 
docker run -it --device /dev/dri/:rw 
	--name tensorflow 
	-e DISPLAY 
	-v /tmp/.X11-unix:/tmp/.X11-unix 
	-v /home/workspace/tensorflow:/workspace 
	tensorflow:17.10 
	bash

Docker Others

删除dangling (none none) images

docker rmi $(docker images -f "dangling=true" -q)

添加Tag

docker tag [IMAGE ID]  [REPOSITORY]

提交Commit

docker commit --author "### <###@###.com>" --message "###"  [CONTAINER ID]  [REPOSITORY]

docker reload

sudo systemctl daemon-reload
sudo systemctl restart docker

配置国内镜像源

国内地址:

1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器  服务
https://cr.console.aliyun.com/
首页点击“创建我的容器镜像”  得到一个专属的镜像加速地址,类似于“https://1234abcd.mirror.aliyuncs.com”

修改步骤:

第一步:新建或编辑daemon.json
vi /etc/docker/daemon.json
 
第二步:daemon.json中编辑如下
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
 
第三步:重启docker
systemctl restart docker.service
 
第四步:执行docker info查看是否修改成功
docker info

最后

以上就是老实音响为你收集整理的Docker 常用命令及使用 (减轻记忆版)的全部内容,希望文章能够帮你解决Docker 常用命令及使用 (减轻记忆版)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部