Docker命令
###下载、拉取镜像
[root@docker01 ~]# docker pull bushbox
##查找镜像
[root@docker01 ~]# docker search busybox
##查看本地镜像
[root@docker01 ~]# docker images
##打包导出镜像
[root@docker01 ~]# docker save -o ubuntu.tar ubuntu
或者 [root@docker01 ~]# docker save > ubuntu.tar ubuntu
##删除镜像
[root@docker01 ~]# docker rmi ubuntu
##导入镜像
[root@docker01 ~]# docker load -i ubuntu.tar
或者[root@docker01 ~]# docker load < ubuntu.tar
##查看运行的容器和所有容器
Docker ps 和 docker ps -a
##删除容器
[root@docker01 ~]# docker rm 12db6eca15d9
强制删除 [root@docker01 ~]# docker rm 12db6eca15d9 -f
##
##进入已经运行的容器 退出后容器停止
root@docker01 ~]# docker attach 12db6eca15d9
//退出容器不被关闭, ctrl+p+q键
###进入容器 退出后容器依然运行
[root@docker01 ~]# docker exec -it first /bin/bash
Attach 和exec进入容器的区别:
attach直接进入容器,启动命令的终端不会启动新的进程 会同步
Exec则是咋容器中打开新的终端并且可以启动性的进程 不会同步
如果直接在终端中查看命令的输出,用attach,其他情况使用exec。
###运行
docker rum -itd --name first centos /bin/bash
-i:交互界面 -t:伪终端 -d:后台运行 --name:容器名
##创建容器
[root@docker01 ~]# docker create -it --name test centos /bin/bash
##启动容器
[root@docker01 ~]# docker start test
###停止容器
[root@docker01 ~]# docker stop test
##重启容器
[root@docker01 ~]# docker restart test
### docker服务重启容器依然运行
[root@docker01 ~]# docker run -itd --restart=always --name second centos /bin/bash
// --restart=always :保存运行,即使docker服务重启
###删除全部容器
[root@docker01 ~]# docker ps -a -q | xargs docker rm -f
或者[root@docker01 ~]# docker rm -f $(docker ps -a -q)
##开启路由转发
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
Sysctl -p
公司使用步骤:
开启容器
[root@docker01 ~]# docker run -itd --restart=always --name web01 centos /bin/bash
复制包到容器根目录下(包的绝对路径)
[root@docker01 ~]# docker cp nginx-1.14.0.tar.gz web01:/
进入到容器查看
[root@docker01 ~]# docker exec -it web01 /bin/bash
安装nginx
tar zxf nginx-1.14.0.tar.gz
cd nginx-1.14.0
yum -y install gcc pcre pcre-devel zlib zlib-devel
yum -y install openssl openssl-devel
yum -y install zlib zlib-devel
useradd -s /sbin/nologin -M nginx
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
nginx -t
Nginx
[root@1c521b520f73 nginx-1.14.0]# echo "123" /usr/local/nginx/html/index.html
退出后 查看web01的详细信息
root@docker01 ~]# docker inspect web01
###查看上面的ip进行连接访问
[root@docker01 ~]# curl 172.17.0.2
123456
将容器制作成镜像
[root@docker01 ~]# docker commit web01 new/nginx:v1
###docker 该镜像名和标签
Docker tag 镜像名:标签名 新镜像名:新标签名
##上传镜像
Docker push 镜像名
下载centos镜像
查看下载的镜像 并导出到本地 起名为mycentos:v1.0
删除下载的镜像 --并查看是否删除成功
使用本地文件mycentos:v1.0 导入镜像
基于进行运行容器名称为myweb
进入容器安装http服务
启动服务
访问apache
基于容器创建镜像
基于创建的镜像创建容器newweb--并进入容器启动服务
访问newweb