专业编程基础技术教程

网站首页 > 基础教程 正文

docker命令集

ccvgpt 2024-08-20 13:05:05 基础教程 9 ℃

Docker命令

###下载、拉取镜像

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

Tags:

最近发表
标签列表