首先, 我的环境是debian, 容器是centos
debian
扔源
1
2
|
# deb-src [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable
deb [arch=amd64] http:
//mirrors
.ustc.edu.cn
/docker-ce/linux/debian
tuster stable
|
使用以下 curl 命令导入存储库的 GPG 密钥:
1
|
curl -fsSL http://mirrors.ustc.edu.cn/docker-ce/linux/debian | sudo apt-key add -
|
然后apt update在install
1
|
apt-get
install
docker-ce
|
开启服务
1
|
systemctl start docker
|
然后拉取文件这些不说了
docker映射端口和挂载目录
1
2
|
宿主 容器 宿主 容器 宿主 容器
docker run -it -p 8083:8080 -p 3389:3306 -
v
/mnt/
:
/mnt
update
/bin/bash
|
导出容器
1
2
|
新名字 容器名字
docker
export
-o cheng.
tar
confident_hopper
|
导入容器
1
2
|
新名字
docker
import
cheng.
tar
cheng
|
下面是镜像问题
(镜像不能重复, 假如是备份原来的镜像cheng, 那么要导入新的镜像update.tar的时候就需要删除现有的cheng镜像, 不然导入失败, 因为当update.tar导入后会变成cheng名字的镜像, 两者名字不能重复, 如果使用export则无此问题)
导出镜像
1
|
docker save -o update.
tar
cheng
|
导入镜像
1
|
docker load -i update.
tar
|
下面有三点需要注意的
1
2
3
|
1. docker save保存的是镜像(image),docker
export
保存的是容器(container)。
2. docker load用来载入镜像包,docker
import
用来载入容器包,但两者都会恢复为镜像。
3. docker load不能对载入的镜像重命名,而docker
import
可以为镜像指定新名称。
|
进入容器
1
2
|
容器名
docker
exec
-it condescending_franklin
/bin/bash
|
进入容器的方式有4种, 请参考
下面看下案例
查看端口映射问题
centos
centos我是直接使用rpm包的, 只要两个包
主包: docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
1
|
wget https:
//download
.docker.com
/linux/centos/7/x86_64/stable/Packages/docker-ce-17
.03.2.ce-1.el7.centos.x86_64.rpm
|
依赖: docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
1
|
wget https:
//download
.docker.com
/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17
.03.2.ce-1.el7.centos.noarch.rpm
|
安装方式yum, 为什么要用yum呢, yum可以解决依赖问题, 安装的时候需要安装noarch先, 因为它会自动搞掂依赖
1
|
yum
install
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
|
1
|
yum
install
docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
|
测试
搞掂!