Docker的流行與它對容器的易分享和易移植密不可分,用戶不只能夠把容器提交到公共服務器上,還能夠把容器導出到本地文件系統中。一樣,咱們也能夠把導出的容器從新導入到Docker運行環境中。Docker的容器導入導出分別用import和export命令完成。mysql
一、導出容器exportsql
注意:export導出的是容器,不是鏡像。docker
- docker export <CONTAINER ID > > my_container.tar
docker export 命令會把容器的文件系統以tar包的格式導出到標準輸出。將容器保存到本地後,咱們就能夠經過網絡等方式將tar包分享給他人。服務器
二、導入容器爲鏡像import網絡
- cat my_container.tar |docker import - image_name:tag
三、查看導入的鏡像tcp
- [root@localhost ~]# docker images
- REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
- clj_mysql 5.6.28 d397fa7d51e3 About an hour ago 322.4 MB
- daocloud.io/library/mysql 5.6.28 6992b0d06649 3 weeks ago 324.2 MB
- index.tenxcloud.com/tenxcloud/mysql latest ba0c7864ab1e 3 months ago 470.9 MB
四、運行導入的鏡像spa
- docker run --name clj_mysql_3 -e MYSQL_ROOT_PASSWORD=123456 -d -p 33062:3306 clj_mysql:5.6.28 /entrypoint.sh mysqld
注意:運行導入的鏡像的時候必須帶command,不然啓動報以下錯誤.net
- FATA[0000] Error response from daemon: No command specified
具體的command須要在導出容器的時候經過docker ps查看到。blog
- [root@localhost ~]# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- f90c4887c320 clj_mysql:5.6.28 "/entrypoint.sh mysqld 4 seconds ago Up 4 seconds 0.0.0.0:33062->3306/tcp clj_mysql_3
- 8ec92a7f18db daocloud.io/library/mysql:5.6.28 "/entrypoint.sh mysqld 59 minutes ago Up 25 minutes 0.0.0.0:33061->3306/tcp clj_mysql