我设法找到目录下的容器/var/lib/docker/containers,但我找不到图像.
目录和文件是/var/lib/docker什么?
我不确定我是否在这里误解了一些东西,但似乎只能通过从图像创建一个新容器来设置端口映射.有没有办法将端口映射分配给现有的Docker容器?
我screen -r倒是成的运行Django的服务器,我不能简单地Ctrl-C和exit出来.
有没有其他方法可以摆脱screen?
目前,我手动关闭我本地PC上的标签并ssh重新登录,但这变得令人厌烦.
如果我运行$ docker-compose down以下内容,我似乎无法保持MySQL数据持续存在.yml
version: '2'
services:
# other services
data:
container_name: flask_data
image: mysql:latest
volumes:
- /var/lib/mysql
command: "true"
mysql:
container_name: flask_mysql
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this
MYSQL_USER: 'test'
MYSQL_PASS: 'pass'
volumes_from:
- data
ports:
- "3306:3306"
Run Code Online (Sandbox Code Playgroud)
我的理解是在我的data容器中使用volumes: - /var/lib/mysqlmap将它映射到我的本地机器目录,其中mysql将数据存储到容器中,并且由于这种映射,即使容器被销毁,数据也应该保持不变.而mysql容器只是进入数据库的客户端接口,因为可以看到本地目录volumes_from: - data
尝试这个答案,它没有用.Docker-撰写持久性数据问题
编辑
改变了我.yml如下图所示,创建了目录./data,但现在当我运行docker-compose up --build的mysql容器无法启动抛出错误说
data:
container_name: flask_data
image: mysql:latest
volumes:
- ./data:/var/lib/mysql …Run Code Online (Sandbox Code Playgroud) 我已经构建了一个非常大的图像(1G),其中有很多"基础设施"用于测试(Mongo,Kafka等)
尝试启动时,设备错误没有剩余空间.我怎样才能解决这个问题?
我已经清除了已停止的图像并删除了我并不绝对需要的任何图像.
我不确定我是否有配置错误,或者我只是不知道在哪里查找,但我似乎无法找到使用这些配置存储我的文件的位置
apiVersion: v1
kind: PersistentVolume
metadata:
name: tmp-storage
spec:
storageClassName: manual
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
hostPath:
path: /tmp/netes
type: Directory
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tmp-storage-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
Run Code Online (Sandbox Code Playgroud)
部署
spec:
volumes:
- name: abcd
persistentVolumeClaim:
claimName: tmp-storage-claim
containers:
...
volumeMounts:
- mountPath: '/tmp'
name: abcd
Run Code Online (Sandbox Code Playgroud)
我尝试使用 访问 docker 桌面虚拟机,docker run -it --rm --privileged --pid=host justincormack/nsenter1但里面什么也没有/tmp
我的电脑里面也什么都没有/tmp
我也尝试过查看,/Users/username/.docker/Volumes/但该位置没有卷目录