- 一.docker内使用中文
- 二.docker 创建容器常用选项
- 1、 容器联网问题
- 2、 容器使用ssh远程链接配置
- 3.关于GPU使用
- 三.docker 镜像容器常用操作
- 1、 批量删除docker
- 2、 开启、重启、关闭docker操作
- 3、 拉取docker镜像
- 4、 导入导出本地容器镜像
- 5、 查看docker输出日志
- 6、 使用dockerfile创建docker
- 7、 使用--mac-address创建虚拟网卡
- 8、 修改已创建容器属性
- 9、 容器默认跟随系统启动并自动执行命令
如果docker已创建
vim ~/.bashrc export LANG=C.UTF-8 source ~/.bashrc
如果使用Dockerfile
ENV LANG C.UTF-8二.docker 创建容器常用选项
先给个总的 比较常用的创建选项:
sudo nvidia-docker run --name ${Docker_Container_Name} --shm-size="128g" --cpus ${CPU_Num} -p 5066:22 --user root -itv ${宿主机路径1}:${docker内路径1} -v ${宿主机路径2}:${docker内路径2} ${镜像名称}:${镜像版本} bash
或者
sudo docker run --name ${Docker_Container_Name} --shm-size="128g" --gpus all --cpus ${CPU_Num} -p 5066:22 --user root -itv ${宿主机路径1}:${docker内路径1} -v ${宿主机路径2}:${docker内路径2} ${镜像名称}:${镜像版本} bash
1、 容器联网问题
创建docker的时候 添加 --net=host可以使用宿主机网络联网,
2、 容器使用ssh远程链接配置添加 -p 5066:22 可以使用ssh远程连接docker
docker 内需要安装ssh服务
apt-get install ssh vim /etc/ssh/sshd_configure #修改或者添加以下两项 Port 22 PermitRootLogin yes #然后重启ssh服务 service ssh restart3.关于GPU使用
如果使用nvidia-docker创建,则不需要特意配置
若使用docker创建, 则需要指定GPU ,使用 --gpus ${gpu-id} 或者 --gpus all
docker rm -f `docker ps -a -q` # 删除所有容器 docker rmi -f `docker images -q` # 删除所有的镜像2、 开启、重启、关闭docker操作
systemctl start docker #启动docker服务 systemctl restart docker #重启docker服务 systemctl stop docker #关闭docker服务3、 拉取docker镜像
docker pull xxx/imageName PS: Xxx为镜像路径 ImageNmae为镜像名 镜像可以在https://hub.docker.com/search?q=&type=image中搜索找到4、 导入导出本地容器镜像
容器生成新的镜像:
docker commit ${CONTAINER_ID} ${New_Image_Name}
导出镜像
docker save -o ${保存路径} ${镜像名称:标签}
# 例如:
docker save -o ./ubuntu18.tar ubuntu:18.04
docker save d3949e34634c > /home/centos7.4.tar
导出容器
docker export ${容器名} > ${保存路径}
# 例如:
docker export ubuntu18 > ./ubuntu18.tar
导入容器/镜像
docker import ubuntu18 > ./ubuntu18.tar #导入本地容器 docker load --input ./ubuntu18.tar #导入本地镜像5、 查看docker输出日志
docker logs -f ${docker_ID}
6、 使用dockerfile创建docker
docker build --network=host -f dockerfile -t dockername:v1.01 ./
PS:
dockerfile为dockerfile文件
–network=host 设置docker容器内网络模式
dockername:v1.01 容器名字以及版本号
设置虚拟网卡是为了访问宿主机的redis或者mysql等数据库
–mac-address=”ee: ee: ee: ee: ee: ee:ee”
docker container update --restart=always ${容器名字}
9、 容器默认跟随系统启动并自动执行命令
sudo nvidia-docker run --name ${Docker_Container_Name} --shm-size="128g" --cpus ${CPU_Num} -p 5066:22 --user root --restart=always -itv ${宿主机路径1}:${docker内路径1} -v ${宿主机路径2}:${docker内路径2} ${镜像名称}:${镜像版本} bash /path/your/code/run.sh



