一、启动docker
启动docker:systemctl start docker
重启docker:systemctl restart docker
关闭docker:systemctl stop docker
docker帮助命令
docker -v 查看版本
docker --help 查看帮助
二、镜像命令
1、查看镜像
docker images 查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
镜像的仓库源 镜像的标签 镜像id 创建时间 镜像大小2、只显示镜像id : docker images -q
3、查找镜像:docker search 镜像名 如dcoker search mysql
4、docker pull 镜像名
5、 docker pull mysql:版本号 下载指定版本的镜像名
6、 docker rmi 镜像id 镜像id 镜像id 删作多个镜像
7、docker rmi -f $(docker images -aq) 删除所有镜像
三、容器命令
1、基本命令
1、有镜像才能创建容器
2、docker run [参数] image
#参数说明
-name=“name” 容器名子,tomcat01 tomcat02 用来区分容器
-d 后台方式运行:坑,必须要有一个前台进程,如果没有如tomcat,就会自 动停止,所以很多时候用了 -d,但docker ps中没有这个容器
-it 进入容器
-p 指定容器端口号
-P 随机指定端口
3、启动并进入容器
[root@localhost ~]# docker run -it centos /bin/bash
[root@f8f919ad1ccd /]# ls
bin etc lib lost+found mnt proc run srv tmp var dev home lib64 media opt root sbin sys usr4、退出容器
[root@f8f919ad1ccd /]# exit
exit6、退出容器,但保持容器运行状态:ctrl +p+q
5、查看正在运行的容器 docker ps
6、查看正在运行的和曾经运行的容器 docker ps -a
7、查看正在运行的和曾经运行的容器的编号 docker ps -aq
8、删除容器:docker rm 容器id
10、删除所有容器:docker rm -f $(docker ps -aq)(-f 如果不加上,正在运行的容器无法删除)
2、操作容器
启动容器:docker start 容器id
重启容器:docker restart 容器id
停止容器:docker stop 容器id
强制停止容器: docker kill 容器id
#docker start 和 docker run的区别
docker run:只有镜像,没有容器时,通过docker run来运行镜像同时创建容器
docker start: 如果容器不存在无法使用,只能对已存在的容器做启动容器
3、其他常用命令
1、查看日志
docker logs 容器id
-tf 显示带时间戳的日志
--tail number 显示末尾的日志条数
[root@localhost /]# docker logs -tf --tail 10 88dab993d0d7
2、查看容器中的进程
docker top 容器id
[root@localhost /]# docker top 88dab993d0d7
3、查看容器信息
docker inspect 容器id
[root@localhost /]# docker inspect 88dab993d0d7
4、进入容器
方法一:docker exec -it 容器id /bin/bash
方法二:docker attach 容器id
区别
方法一:进入容器后一个新的终端,可以在里面操作
方法二:进入容器正在执行的终端,不会启动新的进程
5、将容器的内容copy到本机
#进入到容器
[root@localhost opt]# docker exec -it 88dab993d0d7 /bin/bash
[root@88dab993d0d7 /]# cd /opt/
[root@88dab993d0d7 opt]# ls# 在容器中创建一个文件
[root@88dab993d0d7 opt]# touch java.py
[root@88dab993d0d7 opt]# ls
java.py#退出容器
[root@88dab993d0d7 opt]# exit
exit
# 将88dab993d0d7容器中的/opt/java.py 复制到的本机的/opt/
[root@localhost opt]# docker cp 88dab993d0d7:/opt/java.py /opt/
[root@localhost opt]# ls
java.py
6. 练习安装nginx
(1) 查看镜像:docker search nginx
(2)下载镜像:docker pull nginx
(3) 运行镜像,并生成容器: docker run --name nginx01 -p 7788:80 nginx
解释一下:
--name : 是容器的名称
-p 7788:80 :指定内网和外网的端口映射
80是nginx的固定的本地端口,如果我们要提供外网访问,如果就要开启一个可以访问的端口比如说我们开启的是7788,那么就可以用-p建立一个端口映射,将80映射到7788上,这样外网就可以访问nginx了
7、练习安装tomcat
(1) 查看镜像:docker search tomcat
(2)下载镜像:docker pull tomcat
(3)运行镜像:docker run --name tomcat1 -d -p 8888:8080 tomcat
我们访问一下,tomcat页面没有显示
那是因为tomcat镜像是阉割版,webapps里面是空的。我们进到容器里
将webapp.dist里面的东西复制到webapps中
刷新一下
四 、制作镜像
提交容器成为一个新的副本 dcoker commit
docker commit -m=“提交的描述信息” -a=“作者” 容器id 目标镜像名称:版本号