首先, 我的環境是debian, 容器是centos
debian
安裝添加新存儲庫所需的依賴項
1
|
sudo apt install ca-certificates curl software-properties-common gnupg2
|
扔源
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 b
uster stable
|
使用以下 curl 命令導入存儲庫的 GPG 密鑰:
1
|
curl -fsSL http://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | 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
|
測試
搞掂!