dock使用

2018-09-09  本文已影响0人  __周__

docker使用

0x01 存出和载入镜像

存出镜像

如果要导出镜像到本地文件,可以使用 docker save 命令。

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              14.04               c4ff7513909d        5 weeks ago         225.4 MB
...
$sudo docker save -o ubuntu_14.04.tar ubuntu:14.04

载入镜像

可以使用 docker load 从导出的本地文件中再导入到本地镜像库,例如

$ sudo docker load --input ubuntu_14.04.tar

或

$ sudo docker load < ubuntu_14.04.tar

这将导入镜像以及其相关的元数据信息(包括标签等)。

0x02 外网端口映射并且开机启动

外网端口映射

 docker run -d -p 80:80 medicean/vulapps:b_bash_shellshock1
 
 映射后并进入虚拟主机
 
docker run  -i -t  -p 20024:22 centos6:lamp /bin/bash
 
前面的宿主的端口,后面的虚拟机的端口

开机启动

vim   /etc/rc.local 

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

docker run -d -p 80:80 medicean/vulapps:b_bash_shellshock1
exit 0

0x03 docker镜像导入与导出

打包镜像

docker save -o b_bash_shellshock1.tar medicean/vulapps:b_bash_shellshock1

导入镜像

docker load < debian02.tar   #导入镜像

docker images   #查看存在的镜像

0x04 docker容器提交为最新镜像

docker commit <容器id>  debian02 #把这个容器提交生成新的debian02镜像(该镜像是原始镜像与容器的整合)

0x05 删除镜像

如果要移除本地的镜像,可以使用 docker rmi 命令。注意 docker rm 命令是移除容器。

$ sudo docker rmi training/sinatra
Untagged: training/sinatra:latest
Deleted: 5bc342fa0b91cabf65246837015197eecfa24b2213ed6a51a8974ae250fedd8d
Deleted: ed0fffdcdae5eb2c3a55549857a8be7fc8bc4241fb19ad714364cbfd7a56b22f
Deleted: 5c58979d73ae448df5af1d8142436d81116187a7633082650549c52c3a2418f0

删除所有已经停止的容器

docker rm $(docker ps -a -q)

杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除From它来创建的新的镜像,可以先save,删除新的镜像。(这是个坑,一定要注意)

注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。
例:

在直接删除images时会报错,会提示这个images被某个容器引用。这时先删除容器就行了。
root@ubuntu:~# docker rmi 2a89da0d202c
Error response from daemon: conflict: unable to delete 2a89da0d202c (must be forced) - image is being used by stopped container db88f7
root@ubuntu:~# docker rm db88f72be24f
db88f72be24f
root@ubuntu:~# docker rmi 2a89da0d202c
Untagged: medicean/vulapps:b_bash_shellshock1
Deleted: sha256:2a89da0d202c0de32dc53c26295c0dc05d5487fcaae87d7e71d8fd7844943329
Deleted: sha256:ee4ceee5216269abc932e24dbe0f520a2a0eec413f1660d3926a2a33ade07eb5
Deleted: sha256:b9fe9c83f16b0faa61d5b1b7674af329fea8bfe41b8cfbd94aa6ab71900914cc
Deleted: sha256:3b0ebc0108f7c9ccc7e1dfaed5a402ec29cdd84c9e45b5648236751fa0193f84
Deleted: sha256:77c1d32cacbde4acd3dbddaa203f91761f8fe13bb181835a1019d83d9ccec2cf
Deleted: sha256:043ecf5c20e7481ae621e17b04e0e5924861f0b4fd8075b53ee38e44d852bb8f
Deleted: sha256:da7b3e8a328046694cb61a8dbf9e8f1a088f94521cd7d9ceb91a4aefd59d32b5
Deleted: sha256:0a76c056ffdd75aa174adcd05e4201e3503cb1abbf2013ed603ad5afb001891b
Deleted: sha256:2f71b45e4e254ddceb187b1467f5471f0e14d7124ac2dd7fdd7ddbc76e13f0e5

0x06复制镜像并重命名

docker tag imageid name:tag

0x07 启动镜像命令行

docker run -t -i cfe7ee52cb6e /bin/bash

0x07 attach容器命令

docker exec -it webmail bash
docker run -itd -p 80:80 --name=phpoa phpoa

0x08 docker 映射宿主机文件(/home/srcms/mysql)到容器(/var/lib/mysql)中

nohup docker run --name srcms -p 4040:80 -v /home/srcms/mysql:/var/lib/mysql -d --restart=always srcms

chcp 65001

上一篇下一篇

猜你喜欢

热点阅读