赞
踩
docker run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name: 为容器指定一个名称
-m: 设置容器使用内存最大值;
--net: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
-v: 绑定一个卷,相当于目录映射
--rm: 当容器退出时自动地移除容器
--privileged: 获取宿主机root权限
centos7-gcc4.9-torch-py3:1.1
的镜像创建容器,并赋予root特殊权限,当容器退出时自动移除。docker run -it --privileged=true -v data:/data --name=xxxx --shm-size=8g --rm centos7-gcc4.9-torch-py3:1.1
docker start/stop/restart
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
docker kill
docker kill [OPTIONS] CONTAINER [CONTAINER...]
docker rm
docker rm [OPTIONS] CONTAINER [CONTAINER...]
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
docker rm $(docker ps -a -q)
docker exec
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
$ sudo docker ps # 查看正在运行的docker,搞清楚自己的那一个,然后将id放到下一条命令中
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash # 这里的775c7c9ee1e1就是自己的dockerid
docker import
docker export f299f501774c > my_ubuntu_v3.tar
docker export
docker import my_ubuntu_v3.tar runoob/ubuntu:v4
docker images
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a : 列出本地所有的镜像
docker rmi
docker rmi [OPTIONS] IMAGE [IMAGE...]
-f :强制删除;
docker rmi -f runoob/ubuntu:v4
docker tag
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
root@runoob:~# docker tag ubuntu:15.10 runoob/ubuntu:v3
root@runoob:~# docker images runoob/ubuntu:v3
REPOSITORY TAG IMAGE ID CREATED SIZE
runoob/ubuntu v3 4e3b13c8a266 3 months ago 136.3 MB
docker build
docker build [OPTIONS] PATH | URL | -
docker build -t runoob/ubuntu:v1 .
docker history
docker history [OPTIONS] IMAGE
docker save
docker save [OPTIONS] IMAGE [IMAGE...]
-o :输出到的文件。
runoob@runoob:~$ docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
runoob@runoob:~$ docker save runoob/ubuntu:v3 > my_ubuntu_v3.tar
docker save -o images.tar postgres:9.6 mongo:3.4
docker load
docker load [OPTIONS]
runoob@runoob:~$ docker load < my_ubuntu_v3.tar
docker login/logout
docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]
-u/--username :登陆的用户名
-p/--password :登陆的密码
docker pull
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
sudo docker pull mirrors.tencent.com/nickccnie/pytorch1.6.0_mmcv1.2.0_mmdet2.6.0_mmsegm0.8.0:1.0
docker push
docker push [OPTIONS] NAME[:TAG]
sudo docker push mirrors.tencent.com/nickccnie/pytorch1.6.0_mmcv1.2.0_mmdet2.6.0_mmsegm0.8.0:2.0
docker commit
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
runoob@runoob:~$ docker commit a404c6c174a2 mymysql:v1
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
docker ps
-a :显示所有的容器,包括未运行的。
-l :显示最近创建的容器。
exit
docker (export、import、save、load)
区别python3 train.py
之后报错,显示共享内存不足,这是因为宿主机与docker之间的共享内存默认是64M ,解决办法是如下:
df -h | grep shm
# 返回结果:shm 64M 0 64M 0% /dev/shm
sudo mount -o remount,size=8G /dev/shm
8G这个大小可以自己调整,你也可以设置成32G, 另外 /dev/shm 对应于你自己的 df -h | grep shm最后一列的结果,当然机器上如果有多个docker打开着,你要区分出来是哪个
https://www.hangge.com/blog/cache/detail_2411.html
https://www.runoob.com/docker/docker-command-manual.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。