Docker实战常用操作

安装和启动docker

  1. yum update -y
  2. yum -y install docker
  3. systemctl start docker

设置镜像

vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}

开放管理端口映射

vi /lib/systemd/system/docker.service

将第11行的ExecStart=/usr/bin/dockerd,替换为:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654

2375是管理端口,7654是备用端口

在~/.bashrc中写入docker管理端口

export DOCKER_HOST=tcp://0.0.0.0:2375

source ~/.bashrc

重启docker

systemctl daemon-reload
systemctl restart docker.service

测试docker是否正常安装和运行

docker run hello-world

查看结果

如果输出如下结果,则docker启动成功

Hello from Docker!
This message shows that your installlation appears to be working correctly

Docker服务使用详解

  1. 运行一个Docker容器
docker run -i -t centos /bin/bash  //启动一个docker
exit  //退出docker
docker ps  //显示当前正在运行的容器列表
docker images  //查看镜像  
  • docker images

  • docker.io/centos latest 49f7960eb7e4 5 weeks ago 200 MB

  • docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB

  • 启动本地已有镜像

  • docker run -t -i 49f7960eb7e4 /bin/bash

  • docker search selenium/hub //搜索/下载镜像

  • docker pull selenium/hub //拉取镜像

  • docker run -i -t selenium/hub

Docker常用命令详解

docker ps 查看当前正在运行的容器

 docker ps -a 查看所有容器的状态

 docker start/stop id/name 启动/停止某个容器

 docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)

 docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)

 docker images 查看本地镜像
 docker rm id/name 删除某个容器
 docker rmi id/name 删除某个镜像

 docker run --name test -ti ubuntu /bin/bash  复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash

 docker build -t soar/centos:7.1 .  通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像

 docker run -d -p 2222:22 --name test soar/centos:7.1  以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变

关于删除不掉镜像的解决办法

  1. 先查询记录 docker ps -a
  2. 把该镜像的记录全部删除掉,如果删除所有镜像的记录,可以使用:docker ps -a|awk '{print $1}'|xargs docker rm
  3. docker rmi 5e4f2da203e2 此时就可以了

当docker由于仓库引用无法删除时

docker rmi REPOSITORY:TAG  

创建docker镜像

  1. 编写Dockerfile文件
FROM    centos:7.2.1511
MAINTAINER      Macy "[email protected]"
 
 
RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd test
RUN     /bin/echo 'test:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D
  1. 使用Dockerfile文件创建docker创建镜像
docker build -t yjsdocker/centos:7.2.1511 ./
  1. 生成镜像并使用
docker run -i -t dockerID

  • 查看所有容器
docker ps -a
  • 查看所有容器id
docker ps -a -q
  • stop停止所有容器
docker stop $(docker ps -a -q)
  • remove删除所有容器
docker rm $(docker ps -a -q)
  • 启动镜像并以bash交互的方式运行
sudo docker run -it --rm ubuntu:16.04 bash  
docker run是运行容器的命令,上面用到的参数意义如下:

-it:这是两个参数,一个是-i交互式操作,一个是-t终端。我们这里打算进入bash 执行一些命令并查看返回结果,因此我们需要交互式终端
--rm:这个参数是说容器退出后随之将其删除
ubuntu:16.04 :这是指用 ubuntu:16.04 镜像为基础来启动容器
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash
进入容易后,我们可以通过shell执行任何所需要的命令,最后我们通过exit退出这个容器

你的赞赏,是我的动力

谢谢赞赏Money随意.png

你可能感兴趣的:(Docker实战常用操作)