1. docker网络连接超时
docker pull镜像时,报网络链接超时
解决方法: 配置国内镜像
# 创建或编辑配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.1ms.run", # 高速镜像源
"https://hub-mirror.c.163.com", # 网易云镜像
"https://mirror.baidubce.com" # 百度云镜像
]
}
EOF
# 重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
2. docker路径映射
docker run -v 宿主路径:容器路径[:权限] 镜像名
# eg: docker run -v /home/workspace:/home/workspace:rw # rw读写权限,ro只读权限
不能动态修改容器映射,需要删除重建
docker stop old_container
docker rm old_container
docker run -v 宿主路径:容器路径[:权限]
3. 进入容器
1. exec
docker exec -it <container_id> /bin/bash
优点:
- 不影响主进程
- 支持交互
2. attach
docker attach <container_id>
优点:
- 进入主进程,实时查看输出
缺点:
- 不支持交互
- 主进程退出,容器也会退出
4. 查看log
docker logs <container_id>
5. 拷贝文件
docker cp <container_id>:<path> <host_path> # 容器到宿主机
docker cp <host_path> <container_id>:<path> # 宿主机到容器
6. 宿主机为远程服务器时,图形界面无法显示的问题
- 宿主机开放X11权限,允许Docker容器访问宿主机的X11 server
xhost +local:docker
- 挂载X11 socket和授权文件、设置环境变量
sudo docker run \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/.Xauthority:/root/.Xauthority:rw \
-e DISPLAY=$DISPLAY \
--net=host \
...
- 共享宿主机网络栈
sudo docker run \
--net=host \
...
- 测试是否生效
apt-get install x11-apps
xeyes # 查看是否正常