Docker
docker访问宿主机 172.17.0.1
镜像
- 拉取镜像
docker pull centos:7
- 查看镜像
docker images
- 删除镜像
docker rmi 镜像ID
- 搜索镜像
docker search java
容器 1、运行容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --name wzg_pc -d -p 3000:3000 centos:7 /bin/bash
- -i 打开一个标准的输入接口
- -t 创建一个伪 tty 终端 连接容器的标准输入接口,之后用户就可以通过终端进行输入
- –name 容器名字
- -p 端口
- 默认[COMMAND] /bin/bash
- -d 是保证容器在后台运行
- -v /usr/local/gitlab-test/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
- –restart always 容器自启动
–privileged=true 让容器获取宿主机root权限
- 查看运行的容器
docker ps
- 查看所有的容器
docker ps -a
- 重新进入容器
docker exec -it container-name /bin/bash
- 开始,重启,停止容器
docker start/restart/stop <容器 ID>
- 终止容器
docker stop 3b395bf32944
- 删除容器
docker rm 3b395bf32944
- 查看运行的容器
容器与镜像转化
导出容器 为tar文件 1docker export 369a5a55edc2 > yjtemplate.tar
加载tar文件:类似镜像 docker import yjtemplate.tar
docker的根目录 docker info
docker info|grep "Docker Root Dir"
宿主机容器文件拷贝
docker cp container_id:<docker容器内的路径> <本地保存文件的路径>
docker cp 本地文件的路径 container_id:<docker容器内的路径>
修改port
docker run -it --privileged --pid=host justincormack/nsenter1
cd /var/lib/docker/containers && ls
vi config.v2.json
"ExposedPorts":{"80/tcp":{},"7890/tcp":{}}
vi hostconfig.json
"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]}
添加修改挂载地址
1.hostconfig.json 挂在会删除docker容器中的文件!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 记得备份
cp -r 文件夹 some.bac
2.vi config.v2.json
{
"/java": {
"Source": "/home/wengyuanjia/wzg", #容器路径
"Destination": "/java",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/home/wengyuanjia/wzg", #主机路径
"Target": "/java" #容器路径
},
"SkipMountpointCreation": false
}
}
文档信息
- 本文作者:Yuanjia Weng
- 本文链接:https://github.wengyuanjia.fun//2022/01/10/docker/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
Related Issues not found
Please contact @wengyuanjia to initialize the comment